/// <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)); }
/// <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)); }
/// <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); } }
/// <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)); }