public static bool BuildReceiveMessage(TCPReceivePackage package, out Message message) { message = null; bool bReturn = true; //Get message type var strData = Encoding.ASCII.GetString(package.Data); using (XmlReader reader = XmlReader.Create(new StringReader(strData))) { if (!reader.ReadToFollowing("message")) { Log.debug("Unknown message received."); return false; } else { while (reader.MoveToNextAttribute()) { switch (reader.Name) { case "type": { if (reader.Value == "register_media_consumer_response") { Log.info(String.Format("Received message: {0}", reader.Value)); message = BuildRegisterMessageResponse(); } else if(reader.Value == "image_receive_request") { Log.info(String.Format("Received message: {0}", reader.Value)); message = BuildRegisterMessageResponse(); } else { Log.info(String.Format("Message type {0} not handled", reader.Value)); return false; } } break; default: Log.info("Message type is unknown. Will not be processed."); return false; break; } } } } return bReturn; }
private static Message BuildRegisterMessageResponse() { Message message = new Message(); message.Type = MessageType.RegisterMessageResponse; return message; }
void IMessageReceiveDelegate.HandleMessageReceived(Message message) { NotifyNewMessageReceived(message); }
private void NotifyMessageReceived(Message message) { if(MessageReceiveDelegate != null) { MessageReceiveDelegate.HandleMessageReceived(message); } }
private void NotifyNewMessageReceived(Message message) { foreach(IMessageHandler handler in _messageEventHandlers) { handler.OnNewMessageEvent(message); } }