Пример #1
0
        private void SendLayoutChange(string layout, InputControlLayoutChange change)
        {
            if (m_Subscribers == null)
            {
                return;
            }

            Message msg;

            switch (change)
            {
            case InputControlLayoutChange.Added:
            case InputControlLayoutChange.Replaced:
                var message = NewLayoutMsg.Create(this, layout);
                if (message == null)
                {
                    return;
                }
                msg = message.Value;
                break;

            case InputControlLayoutChange.Removed:
                msg = RemoveLayoutMsg.Create(this, layout);
                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
        private void SendLayoutChange(string layout, InputControlLayoutChange change)
        {
            if (m_Subscribers == null)
            {
                return;
            }

            // Don't mirror remoted layouts to other remotes.
            if (layout.StartsWith(kRemoteLayoutNamespacePrefix))
            {
                return;
            }

            Message msg;

            switch (change)
            {
            case InputControlLayoutChange.Added:
            case InputControlLayoutChange.Replaced:
                var message = NewLayoutMsg.Create(this, layout);
                if (message == null)
                {
                    return;
                }
                msg = message.Value;
                break;

            case InputControlLayoutChange.Removed:
                msg = RemoveLayoutMsg.Create(this, layout);
                break;

            default:
                return;
            }

            Send(msg);
        }