public Lamp(string objectPath, LampConsumer consumer) { m_Consumer = consumer; // Use the file path api to extract name Name = Path.GetFileName(objectPath); m_IsOn = false; m_Brightness = 1.0; m_Consumer.SessionLost += Consumer_SessionLost; }
private async void Lamp_Added(LampWatcher sender, AllJoynServiceInfo args) { LampJoinSessionResult joinSessionResult = await LampConsumer.JoinSessionAsync(args, sender); if (joinSessionResult.Status == AllJoynStatus.Ok) { m_Lamps.Add(joinSessionResult.Consumer); joinSessionResult.Consumer.SessionLost += Consumer_SessionLost; } }
private async void Lamp_Added(LampWatcher sender, AllJoynServiceInfo args) { LampJoinSessionResult joinSessionResult = await LampConsumer.JoinSessionAsync(args, sender); if (joinSessionResult.Status == AllJoynStatus.Ok) { LampConsumer lampConsumer = joinSessionResult.Consumer; // Create ViewModel object from LampConsumer and add to the Lamps collection // Using args.ObjectPath for the name of the device. One could use args.UniqueId for an // Id property for lamps lookup from a dictionary. Lamp lamp = new Lamp(args.ObjectPath, lampConsumer); Lamps.Add(lamp); lamp.SessionLost += Lamp_SessionLost; } }
private async void LampWatcher_Added(org.allseen.LSF.ControllerService.Lamp.LampWatcher sender, AllJoynServiceInfo args) { var joinResult = await LampConsumer.JoinSessionAsync(args, sender); if (joinResult.Status == AllJoynStatus.Ok) { _lamp = joinResult.Consumer; var lamps = await _lamp.GetAllLampIDsAsync(); foreach (var lamp in lamps.LampIDs) { var lampModel = new LampStateViewModel(this); var lampDetails = await _lamp.GetLampDetailsAsync(lamp); lampModel.Id = lampDetails.LampID; var lampState = await _lamp.GetLampStateAsync(lamp); foreach (var stateItem in lampState.LampState) { if (stateItem.Key == "Brightness") lampModel.Brightness = Convert.ToUInt32(stateItem.Value); if (stateItem.Key == "ColorTemp") lampModel.ColorTemp = Convert.ToUInt32(stateItem.Value); if (stateItem.Key == "Hue") lampModel.Hue = Convert.ToUInt32(stateItem.Value); if (stateItem.Key == "OnOff") lampModel.On = Convert.ToBoolean(stateItem.Value); if (stateItem.Key == "Saturation") lampModel.Saturation = Convert.ToUInt32(stateItem.Value); Debug.WriteLine(string.Format("Lamp State Key: {0} Value: {1}", stateItem.Key, stateItem.Value)); } var name = await _lamp.GetLampNameAsync(lamp, "en"); lampModel.Name = name.LampName; Lamps.Add(lampModel); } _lamp.Signals.LampStateChangedReceived += LampStateChanged; //UpdateUI(); } }
private void Consumer_SessionLost(LampConsumer sender, AllJoynSessionLostEventArgs args) { m_Lamps.Remove(sender); }
private void Consumer_SessionLost(LampConsumer sender, AllJoynSessionLostEventArgs args) { SessionLost?.Invoke(this, new EventArgs()); }