public MqttConsumerService( IManagedMqttClient mqttClient, IMqttApplicationProvider applicationProvider, IServiceScopeFactory serviceScopeFactory, IManagedMqttClientOptions mqttClientOptions, IOptions <TManagedMqttSettings> mqttSettings, ILogger <MqttConsumerService <TManagedMqttSettings> > logger) { MqttClient = mqttClient; ApplicationProvider = applicationProvider; ServiceScopeFactory = serviceScopeFactory; Options = mqttClientOptions; MqttSettings = mqttSettings; Logger = logger; MqttClient.ApplicationMessageProcessedHandler = new ApplicationMessageProcessedHandlerDelegate(OnApplicationMessageProcessed); MqttClient.ApplicationMessageReceivedHandler = new MqttApplicationMessageReceivedHandlerDelegate(OnApplicationMessageReceived); MqttClient.ApplicationMessageSkippedHandler = new ApplicationMessageSkippedHandlerDelegate(OnApplicationMessageSkipped); MqttClient.ConnectedHandler = new MqttClientConnectedHandlerDelegate(OnConnected); MqttClient.DisconnectedHandler = new MqttClientDisconnectedHandlerDelegate(OnDisconnected); MqttClient.ConnectingFailedHandler = new ConnectingFailedHandlerDelegate(OnConnectingFailed); MqttClient.SynchronizingSubscriptionsFailedHandler = new SynchronizingSubscriptionsFailedHandlerDelegate(OnSynchronizingSubscriptionsFailed); ApplicationProvider.ApplicationChanged += OnApplicationChanged; }
public void BindAll(IMqttApplicationProvider mqttApplicationProvider, IMqttMessageBus mqttMessageBus, bool sendDiscovery = true) { MqttApplicationProvider = mqttApplicationProvider ?? throw new ArgumentNullException(nameof(mqttApplicationProvider)); MqttMessageBus = mqttMessageBus ?? throw new ArgumentNullException(nameof(mqttMessageBus)); foreach (var entityConfiguration in _entityConfigurations) { entityConfiguration.Bind(mqttMessageBus, sendDiscovery); } }
public void BindAll(IMqttApplicationProvider mqttApplicationProvider, IMqttMessageBus mqttMessageBus, bool sendDiscovery = true) { MqttApplicationProvider = mqttApplicationProvider ?? throw new ArgumentNullException(nameof(mqttApplicationProvider)); MqttMessageBus = mqttMessageBus ?? throw new ArgumentNullException(nameof(mqttMessageBus)); foreach (var entityBindingManager in _entityBindingManagers) { entityBindingManager.BindAll(mqttApplicationProvider, mqttMessageBus, sendDiscovery); } MqttApplicationProvider.Rebuild(); }
public HomeAssistantOutboundMqttDispatcher( IManagedMqttClient managedMqttClient, IMqttApplicationProvider mqttApplicationProvider, IMqttEntityControlPanel mqttEntityControlPanel, IMqttMessageBus messageBus ) { ManagedMqttClient = managedMqttClient; MqttApplicationProvider = mqttApplicationProvider; MqttEntityControlPanel = mqttEntityControlPanel; MessageBus = messageBus; }
private MqttConsumerService <ManagedMqttSettings> CreateMqttConsumerService( Action <ManagedMqttSettings> managedMqttSettingsConfiguration, IManagedMqttClient managedMqttClientOverride = null, IMqttApplicationProvider mqttApplicationProviderOverride = null, IServiceScopeFactory serviceScopeFactoryOverride = null, IManagedMqttClientOptions managedMqttClientOptionsOverride = null ) { var managedMqttSettings = new ManagedMqttSettings(); managedMqttSettingsConfiguration.Invoke(managedMqttSettings); var managedMqttSettingsOptionsWrapper = new OptionsWrapper <ManagedMqttSettings>(managedMqttSettings); return(new MqttConsumerService <ManagedMqttSettings>( managedMqttClientOverride ?? MockManagedMqttClient.Object, mqttApplicationProviderOverride ?? MockMqttApplicationProvider.Object, serviceScopeFactoryOverride ?? MockServiceScopeFactory.Object, managedMqttClientOptionsOverride ?? MockManagedMqttClientOptions.Object, managedMqttSettingsOptionsWrapper, Logger )); }