public Command(Room room, Device device, EDeviceCapabilities action) { mAction = action; mDevice = device; mRoom = room; mHasData = true; }
public List<Device> ListDevicesByCaps(Room rm, EDeviceCapabilities caps) { List<Device> ret = new List<Device>(); if (rm == null) { foreach (Room r in mRooms) { ret.AddRange(ListDevicesByCaps(r, caps)); } } else { foreach (Device d in rm.ListDevices()) { if ((d.Capabilities.Caps & caps) == caps) ret.Add(d); } } return ret; }
public void Execute(string device, EDeviceCapabilities action) { switch (action) { case EDeviceCapabilities.TurnUp: Dim(device, 100); break; case EDeviceCapabilities.TurnOn: DeviceOnOff(device, true); break; case EDeviceCapabilities.TurnOff: DeviceOnOff(device, false); break; case EDeviceCapabilities.TurnDown: Dim(device, 30); break; case EDeviceCapabilities.Dim: Dim(device, 30); break; default: //TODO: Should throw error break; } Thread.Sleep(300); }