示例#1
0
        private void RawMessageReceived(object sender, RawMessageReceivedEventArgs e)
        {
            Debug.WriteLine("Received {0} message: {1}", (Endpoint)e.Endpoint, BitConverter.ToString(e.Payload));

            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 (CallbackContainer callback in callbacks)
                    {
                        callback.Invoke(response);
                    }
                }
            }
        }
示例#2
0
        private void RawMessageReceived(object sender, RawMessageReceivedEventArgs e)
        {
            var       endpoint = (Endpoint)e.Endpoint;
            IResponse response = _responseManager.HandleResponse(endpoint, e.Payload);

            if (response != null)
            {
                if (e.Endpoint == (ushort)Endpoint.PhoneVersion)
                {
                    var message = new AppVersionResponse();
                    SendMessageNoResponseAsync(Endpoint.PhoneVersion, message.GetBytes()).Wait();
                }

                //Check for callbacks
                List <CallbackContainer> callbacks;
                if (_callbackHandlers.TryGetValue(response.GetType(), out callbacks))
                {
                    foreach (CallbackContainer callback in callbacks)
                    {
                        callback.Invoke(response);
                    }
                }
            }
        }