public Service(WifiLink.IBridge bridge, Entity.IFactory entityFactory, Configuration.IProvider configurationProvider, With.Messaging.Client.IEndpoint clientEndpoint) { _entityFactory = entityFactory; _clientEndpoint = clientEndpoint; _configurationProvider = configurationProvider; _bridge = bridge; }
public Off(Configuration.Dimmer dimmer, WifiLink.IBridge bridge) { _dimmer = dimmer; _bridge = bridge; Identity = _dimmer.ToOffIdentity(); Description = _dimmer.ToOffDescription(); Parameters = Enumerable.Empty <IParameter>(); }
public On(Configuration.Dimmer dimmer, WifiLink.IBridge bridge) { _dimmer = dimmer; _bridge = bridge; Identity = _dimmer.ToOnIdentity(); Description = _dimmer.ToOnDescription(); Parameters = Enumerable.Empty<IParameter>(); }
public Level(Configuration.Dimmer dimmer, WifiLink.IBridge bridge) { _dimmer = dimmer; _bridge = bridge; _percent = new Percent(dimmer); Identity = _dimmer.ToLevelIdentity(); Description = _dimmer.ToLevelDescription(); Parameters = new IParameter[] { _percent }; }
public ILightwaveEntity Create(Configuration.IDevice device, WifiLink.IBridge bridge, With.Messaging.Client.IEndpoint clientEndpoint) { IBuilder builder; if (_builders.TryGetValue(device.Type, out builder)) { return(builder.Build(device, bridge, clientEndpoint)); } else { throw new InvalidOperationException(string.Format("No builder for device type '{0}' found", device.Type)); } }
public ILightwaveEntity Build(Configuration.IDevice device, WifiLink.IBridge bridge, With.Messaging.Client.IEndpoint clientEndpoint) { Configuration.Dimmer dimmer = device as Configuration.Dimmer; if (dimmer != null) { return(new Entity(dimmer, bridge, clientEndpoint)); } else { throw new InvalidOperationException(string.Format("Could not create dimmer from device '{0}'", device)); } }
public Entity(Configuration.Dimmer dimmer, WifiLink.IBridge bridge, With.Messaging.Client.IEndpoint clientEndpoint) { _dimmer = dimmer; _bridge = bridge; _clientEndpoint = clientEndpoint; _on = new On(dimmer, bridge); _off = new Off(dimmer, bridge); _level = new Level(dimmer, bridge); _messages = new Subject <Message.IMessage>(); Identity = _dimmer.ToEntityIdentity(); Description = _dimmer.ToEntityDescription(); Observables = Enumerable.Empty <IObservable>(); Actionables = new IActionable[] { _off, _on, _level }; }