Args for the event of a message being received. Possibly a little excessive as the relevant event will most likely have exactly one subscriber, but it's a small effort.
Inheritance: System.EventArgs
示例#1
0
        void pebbleProt_RawMessageReceived(object sender, RawMessageReceivedEventArgs e)
        {
            Endpoints endpoint = (Endpoints)e.Endpoint;

            // Switch for the specific events
            switch (endpoint)
            {
            case Endpoints.LOGS:
                EventHandler <LogReceivedEventArgs> loghandler = LogReceived;
                if (loghandler != null)
                {
                    loghandler(this, new LogReceivedEventArgs(e.Payload));
                }
                break;

            case Endpoints.PING:
                EventHandler <PingReceivedEventArgs> pinghandler = PingReceived;
                if (pinghandler != null)
                {
                    pinghandler(this, new PingReceivedEventArgs(e.Payload));
                }
                break;

            case Endpoints.MUSIC_CONTROL:
                EventHandler <MediaControlReceivedEventArgs> mediahandler = MediaControlReceived;
                if (mediahandler != null)
                {
                    mediahandler(this, new MediaControlReceivedEventArgs(e.Payload));
                }
                break;
            }

            // Catchall:
            EventHandler <MessageReceivedEventArgs> allhandler = MessageReceived;

            if (allhandler != null)
            {
                allhandler(this, new MessageReceivedEventArgs(endpoint, e.Payload));
            }

            // Endpoint-specific
            if (endpointEvents.ContainsKey(endpoint))
            {
                EventHandler <MessageReceivedEventArgs> h = endpointEvents[endpoint];
                if (h != null)
                {
                    h(this, new MessageReceivedEventArgs(endpoint, e.Payload));
                }
            }
        }
示例#2
0
        private void RawMessageReceived(object sender, RawMessageReceivedEventArgs e)
        {
            Debug.WriteLine("Received Message for Endpoint: {0}", (Endpoint)e.Endpoint);

            IResponse response = _responseManager.HandleResponse((Endpoint)e.Endpoint, e.Payload);

            if (response != null)
            {
                //Check for callbacks
                List <CallbackContainer> callbacks;
                if (_callbackHandlers.TryGetValue(response.GetType(), out callbacks))
                {
                    foreach (var callback in callbacks)
                    {
                        callback.Invoke(response);
                    }
                }
            }
        }
示例#3
0
文件: Pebble.cs 项目: peterrus/flint
        void pebbleProt_RawMessageReceived(object sender, RawMessageReceivedEventArgs e)
        {
            Endpoints endpoint = (Endpoints)e.Endpoint;
            // Switch for the specific events
            switch (endpoint)
            {
                case Endpoints.LOGS:
                    EventHandler<LogReceivedEventArgs> loghandler = LogReceived;
                    if (loghandler != null)
                    {
                        loghandler(this, new LogReceivedEventArgs(e.Payload));
                    }
                    break;
                case Endpoints.PING:
                    EventHandler<PingReceivedEventArgs> pinghandler = PingReceived;
                    if (pinghandler != null)
                    {
                        pinghandler(this, new PingReceivedEventArgs(e.Payload));
                    }
                    break;
                case Endpoints.MUSIC_CONTROL:
                    EventHandler<MediaControlReceivedEventArgs> mediahandler = MediaControlReceived;
                    if (mediahandler != null)
                    {
                        mediahandler(this, new MediaControlReceivedEventArgs(e.Payload));
                    }
                    break;
            }

            // Catchall:
            EventHandler<MessageReceivedEventArgs> allhandler = MessageReceived;
            if (allhandler != null)
            {
                allhandler(this, new MessageReceivedEventArgs(endpoint, e.Payload));
            }

            // Endpoint-specific
            if (endpointEvents.ContainsKey(endpoint))
            {
                EventHandler<MessageReceivedEventArgs> h = endpointEvents[endpoint];
                if (h != null)
                {
                    h(this, new MessageReceivedEventArgs(endpoint, e.Payload));
                }
            }
        }