private void SendDeviceChange(InputDevice device, InputDeviceChange change) { if (m_Subscribers == null) { return; } // Don't mirror remoted devices to other remotes. if (device.remote) { return; } Message msg; switch (change) { case InputDeviceChange.Added: msg = NewDeviceMsg.Create(this, device); break; case InputDeviceChange.Removed: msg = RemoveDeviceMsg.Create(this, device); break; case InputDeviceChange.UsageChanged: msg = ChangeUsageMsg.Create(this, device); break; default: return; } Send(msg); }
void IObserver <Message> .OnNext(Message msg) { switch (msg.type) { case MessageType.Connect: ConnectMsg.Process(this, msg); break; case MessageType.Disconnect: DisconnectMsg.Process(this, msg); break; case MessageType.NewLayout: NewLayoutMsg.Process(this, msg); break; case MessageType.RemoveLayout: RemoveLayoutMsg.Process(this, msg); break; case MessageType.NewDevice: NewDeviceMsg.Process(this, msg); break; case MessageType.NewEvents: NewEventsMsg.Process(this, msg); break; case MessageType.ChangeUsages: ChangeUsageMsg.Process(this, msg); break; case MessageType.RemoveDevice: RemoveDeviceMsg.Process(this, msg); break; case MessageType.StartSending: StartSendingMsg.Process(this, msg); break; case MessageType.StopSending: StopSendingMsg.Process(this, msg); break; } }
void IObserver <Message> .OnNext(Message msg) { switch (msg.type) { case MessageType.Connect: ConnectMsg.Process(this, msg); break; case MessageType.Disconnect: DisconnectMsg.Process(this, msg); break; case MessageType.NewTemplate: NewTemplateMsg.Process(this, msg); break; case MessageType.RemoveTemplate: RemoveTemplateMsg.Process(this, msg); break; case MessageType.NewDevice: NewDeviceMsg.Process(this, msg); break; case MessageType.NewEvents: NewEventsMsg.Process(this, msg); break; case MessageType.ChangeUsages: ChangeUsageMsg.Process(this, msg); break; case MessageType.RemoveDevice: RemoveDeviceMsg.Process(this, msg); break; } }
private void SendDevice(InputDevice device) { var message = NewDeviceMsg.Create(this, device); Send(message); }