示例#1
0
 /// <summary>
 /// Initializes a new instance of the <see cref="GoogleDeviceController"/> class.
 /// </summary>
 /// <param name="deviceRepository">Device repository.</param>
 /// <param name="syncIntentHandler">Sync intent handler.</param>
 public GoogleDeviceController(
     IGoogleDeviceRepository deviceRepository,
     SyncIntentHandler syncIntentHandler)
 {
     _deviceRepository  = deviceRepository ?? throw new ArgumentNullException(nameof(deviceRepository));
     _syncIntentHandler = syncIntentHandler ?? throw new ArgumentNullException(nameof(syncIntentHandler));
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="SyncIntentHandler"/> class.
 /// </summary>
 /// <param name="logger">Logging instance.</param>
 /// <param name="configuration">Configuration.</param>
 /// <param name="deviceRepository">Device repository.</param>
 public SyncIntentHandler(
     ILogger <SyncIntentHandler> logger,
     IConfiguration configuration,
     IGoogleDeviceRepository deviceRepository)
 {
     _log              = logger ?? throw new ArgumentException(nameof(logger));
     _config           = configuration ?? throw new ArgumentException(nameof(configuration));
     _deviceRepository = deviceRepository ?? throw new ArgumentException(nameof(deviceRepository));
 }
示例#3
0
 /// <summary>
 /// Initializes a new instance of the <see cref="ExecuteIntentHandler"/> class.
 /// </summary>
 /// <param name="logger">Logging instance.</param>
 /// <param name="messageHub">Message nhub.</param>
 /// <param name="deviceRepository">Device repository.</param>
 public ExecuteIntentHandler(
     ILogger <ExecuteIntentHandler> logger,
     IMessageHub messageHub,
     IGoogleDeviceRepository deviceRepository)
 {
     _log              = logger ?? throw new ArgumentException(nameof(logger));
     _messageHub       = messageHub ?? throw new ArgumentException(nameof(messageHub));
     _deviceRepository = deviceRepository ?? throw new ArgumentException(nameof(deviceRepository));
 }
示例#4
0
 /// <summary>
 /// Initializes a new instance of the <see cref="QueryIntentHandler"/> class.
 /// </summary>
 /// <param name="logger">Logging instance.</param>
 /// <param name="messageHub">Message hub.</param>
 /// <param name="deviceRepository">Device repository.</param>
 /// <param name="stateCache">State cache.</param>
 public QueryIntentHandler(
     ILogger <QueryIntentHandler> logger,
     IMessageHub messageHub,
     IGoogleDeviceRepository deviceRepository,
     StateCache stateCache)
 {
     _log              = logger ?? throw new ArgumentNullException(nameof(logger));
     _messageHub       = messageHub ?? throw new ArgumentNullException(nameof(messageHub));
     _deviceRepository = deviceRepository ?? throw new ArgumentNullException(nameof(deviceRepository));
     _stateCache       = stateCache ?? throw new ArgumentNullException(nameof(stateCache));
 }
        /// <summary>
        /// Initializes a new instance of the <see cref="MqttService"/> class.
        /// </summary>
        /// <param name="logger">Logging instance.</param>
        /// <param name="messageHub">Message hub.</param>
        /// <param name="brokerSettings">MQTT broker settings.</param>
        /// <param name="deviceRepository">Device repository.</param>
        /// <param name="stateCache">State cache,</param>
        public MqttService(
            ILogger <MqttService> logger,
            IMessageHub messageHub,
            BrokerSettings brokerSettings,
            IGoogleDeviceRepository deviceRepository,
            StateCache stateCache)
            : base(logger, brokerSettings, "google/home")
        {
            _log              = logger ?? throw new ArgumentException(nameof(logger));
            _messageHub       = messageHub ?? throw new ArgumentException(nameof(messageHub));
            _deviceRepository = deviceRepository ?? throw new ArgumentException(nameof(deviceRepository));
            _stateCache       = stateCache ?? throw new ArgumentException(nameof(stateCache));

            // Subscribe to google home based topics
            SubscribedTopics.Add(TopicRoot + "/#");

            // Subscribe to all monitored state topics
            foreach (var topic in _stateCache.Keys)
            {
                SubscribedTopics.Add(topic);
            }
        }
示例#6
0
 /// <summary>
 /// Initializes a new instance of the <see cref="GoogleTraitController"/> class.
 /// </summary>
 /// <param name="deviceRepository">Device repository.</param>
 public GoogleTraitController(IGoogleDeviceRepository deviceRepository)
 {
     _deviceRepository = deviceRepository ?? throw new ArgumentException(nameof(deviceRepository));
 }