public WeatherShieldDevice(ILogger logger, ITransportFactory transportFactory, ITelemetryFactory telemetryFactory, IConfigurationProvider configurationProvider, CancellationToken token) : base(logger, transportFactory, telemetryFactory, configurationProvider) { this.DeviceSensors = new SensorsCollection<AbstractSensor>(); this._token = token; this._mutex = new Mutex(); }
public WeatherShieldViewModel() { if (deviceManager == null) { logger = new TraceLogger(); deviceManager = new DeviceManager(logger, cancellationTokenSource.Token); RunAsync(); } Sensors = new SensorsCollection<AbstractSensor>(); weatherStationConsumer = new WeatherStationConsumer(); weatherStationConsumer.HumiditySensorSessionStarted += deviceManager.StartDeviceSensorAsync; weatherStationConsumer.TemperatureSensorSessionStarted += deviceManager.StartDeviceSensorAsync; weatherStationConsumer.PerssureSensorSessionStarted += deviceManager.StartDeviceSensorAsync; weatherStationConsumer.HumiditySensorSessionStarted += SensorStarted; weatherStationConsumer.TemperatureSensorSessionStarted += SensorStarted; weatherStationConsumer.PerssureSensorSessionStarted += SensorStarted; }