示例#1
0
 public Service(WifiLink.IBridge bridge, Entity.IFactory entityFactory, Configuration.IProvider configurationProvider, With.Messaging.Client.IEndpoint clientEndpoint)
 {
     _entityFactory = entityFactory;
     _clientEndpoint = clientEndpoint;
     _configurationProvider = configurationProvider;
     _bridge = bridge;
 }
示例#2
0
        private async Task Connect()
        {
            _wifiLink = new WifiLink(_ipAddress);
            await _wifiLink.ConnectAsync();

            await _wifiLink.RegisterAsync();

            IsConnected = true;
        }
示例#3
0
        public On(Configuration.Dimmer dimmer, WifiLink.IBridge bridge)
        {
            _dimmer = dimmer;
            _bridge = bridge;

            Identity = _dimmer.ToOnIdentity();
            Description = _dimmer.ToOnDescription();
            Parameters = Enumerable.Empty<IParameter>();
        }
示例#4
0
        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 };
        }
示例#5
0
        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));
            }
        }
示例#6
0
        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));
            }
        }