Example #1
0
 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;
            }
        }
Example #3
0
        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;
            }
        }
Example #4
0
        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);
 }
Example #6
0
 private void Consumer_SessionLost(LampConsumer sender, AllJoynSessionLostEventArgs args)
 {
     SessionLost?.Invoke(this, new EventArgs());
 }