private async void temperatureWatcher_Added(temperatureWatcher watcher, AllJoynServiceInfo args)
        {
            if (_temperatureConsumer == null && args.ObjectPath.Contains(_expectedBusObjectPath))
            {
                var joinSessionResult = await temperatureConsumer.JoinSessionAsync(args, watcher);

                if (joinSessionResult.Status == AllJoynStatus.Ok)
                {
                    _temperatureConsumer              = joinSessionResult.Consumer;
                    _temperatureConsumer.SessionLost += this.Consumer_SessionLost;

                    // subscribe to value changes
                    _temperatureConsumer.TemperatureChanged += this.temperatureConsumer_TemperatureChanged;
                    _temperatureConsumer.RangeChanged       += this.temperatureConsumer_RangeChanged;
                    _temperatureConsumer.UnitsChanged       += this.temperatureConsumer_UnitsChanged;

                    // populate initial values
                    var temperatureResult = await _temperatureConsumer.GetTemperatureAsync();

                    if (temperatureResult.Status != AllJoynStatus.Ok)
                    {
                        return;
                    }
                    this.Temperature = temperatureResult.Temperature;

                    var temperatureRangeResult = await _temperatureConsumer.GetRangeAsync();

                    if (temperatureRangeResult.Status != AllJoynStatus.Ok)
                    {
                        return;
                    }
                    this.TemperatureRange = temperatureRangeResult.Range;

                    var temperatureUnitsResult = await _temperatureConsumer.GetUnitsAsync();

                    if (temperatureUnitsResult.Status != AllJoynStatus.Ok)
                    {
                        return;
                    }
                    this.TemperatureUnits = temperatureUnitsResult.Units;

                    this.IsConnected = true;
                }
            }
        }
        protected override void OnStart()
        {
            _modeWatcher        = new modeWatcher(this.CreateBusAttachment(ref _modeBusAttachment));
            _modeWatcher.Added += this.modeWatcher_Added;
            _modeWatcher.Start();

            _airflowWatcher        = new airflowWatcher(this.CreateBusAttachment(ref _airflowBusAttachment));
            _airflowWatcher.Added += this.airflowWatcher_Added;
            _airflowWatcher.Start();

            _binaryWatcher        = new binaryWatcher(this.CreateBusAttachment(ref _binaryBusAttachment));
            _binaryWatcher.Added += this.binaryWatcher_Added;
            _binaryWatcher.Start();

            _temperatureWatcher        = new temperatureWatcher(this.CreateBusAttachment(ref _temperatureBusAttachment));
            _temperatureWatcher.Added += this.temperatureWatcher_Added;
            _temperatureWatcher.Start();
        }
Пример #3
0
        private async void temperatureWatcher_Added(temperatureWatcher sender, AllJoynServiceInfo args)
        {
            var joinResult = await temperatureConsumer.JoinSessionAsync(args, sender);

            if (joinResult.Status == AllJoynStatus.Ok)
            {
                _temperatureConsumer              = joinResult.Consumer;
                _temperatureConsumer.SessionLost += this.Consumer_SessionLost;

                // subscribe to value changes
                _temperatureConsumer.TemperatureChanged += this.temperatureConsumer_TemperatureChanged;

                // populate initial values
                var valueResult = await _temperatureConsumer.GetTemperatureAsync();

                if (valueResult.Status != AllJoynStatus.Ok)
                {
                    return;
                }
                this.Temperature = valueResult.Temperature;

                this.IsConnected = true;
            }
        }
Пример #4
0
 protected override void OnStart()
 {
     _temperatureWatcher        = new temperatureWatcher(this.CreateBusAttachment(ref _temperatureBusAttachment));
     _temperatureWatcher.Added += this.temperatureWatcher_Added;
     _temperatureWatcher.Start();
 }