Пример #1
0
        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);
        }
Пример #2
0
        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;
            }
        }
Пример #3
0
        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;
            }
        }
Пример #4
0
        private void SendDevice(InputDevice device)
        {
            var message = NewDeviceMsg.Create(this, device);

            Send(message);
        }