private async void powerinterface_1Watcher_Added(interface_1Watcher sender, AllJoynServiceInfo args) { var joinResult = await interface_1Consumer.JoinSessionAsync(args, sender); if (joinResult.Status == AllJoynStatus.Ok) { _interface1Consumer = joinResult.Consumer; _interface1Consumer.SessionLost += this.Consumer_SessionLost; // subscribe to value changes _interface1Consumer.ButtonA0Changed += this.interface1Consumer_ButtonA0Changed; _interface1Consumer.ButtonAIChanged += this.interface1Consumer_ButtonAIChanged; _interface1Consumer.ButtonB0Changed += this.interface1Consumer_ButtonB0Changed; _interface1Consumer.ButtonBIChanged += this.interface1Consumer_ButtonBIChanged; // populate initial values //var asyncA0 = _interface1Consumer.GetButtonA0Async(); //var asyncAI = _interface1Consumer.GetButtonAIAsync(); //var asyncB0 = _interface1Consumer.GetButtonB0Async(); //var asyncBI = _interface1Consumer.GetButtonBIAsync(); //await Task.WhenAll(asyncA0.AsTask(), asyncAI.AsTask(), asyncB0.AsTask(), asyncBI.AsTask()); //var resultA0 = asyncA0.GetResults(); //var resultAI = asyncAI.GetResults(); //var resultB0 = asyncB0.GetResults(); //var resultBI = asyncBI.GetResults(); //if (resultA0.Status != AllJoynStatus.Ok) return; //if (resultAI.Status != AllJoynStatus.Ok) return; //if (resultB0.Status != AllJoynStatus.Ok) return; //if (resultBI.Status != AllJoynStatus.Ok) return; //using (this.CreateInternalPropertyChangeScope()) //{ // this.IsButtonA0Pressed = object.Equals(resultA0.ButtonA0, "1"); // this.IsButtonAIPressed = object.Equals(resultAI.ButtonAI, "1"); // this.IsButtonB0Pressed = object.Equals(resultB0.ButtonB0, "1"); // this.IsButtonBIPressed = object.Equals(resultBI.ButtonBI, "1"); //} this.IsConnected = true; } }
protected override void OnStart() { _interface1Watcher = new interface_1Watcher(this.CreateBusAttachment(ref _interface1BusAttachment)); _interface1Watcher.Added += this.powerinterface_1Watcher_Added; _interface1Watcher.Start(); }