private IGateway HandleGatewayPacket(byte[] mac, string ipAddress) { var isNewGateway = GatewayService.AddOrUpdate(mac, ipAddress); var gateway = GatewayService.Get(mac, ipAddress); if (isNewGateway) { this.ScanGateway(gateway); } return(gateway); }
/// <summary> /// Search for gateways. If a new gateway is found, it will be scanned for new bulbs. /// </summary> public static void ScanNetwork(this ILifxNetwork network, string ipAddress) { var gateways = GatewayService.Get(); foreach (var g in gateways) { ScanGateway(network, g); } var command = PacketFactory.GetCommand(CommandType.GetPanGateway); var gateway = new Gateway(new byte[6], ipAddress); ((LifxNetwork)network).SendCommand(gateway, command); }
public IEnumerable <IGateway> GetGateways() { return(new ReadOnlyCollection <IGateway>(GatewayService.Get().ToList())); }