Example #1
0
        /// <summary>
        /// Dispatches the message to the appropiate handler for the given message.
        /// </summary>
        /// <param name="e"></param>
        public void DispatchEvent(PsEvent e)
        {
            Delegate handler = _handlers[e.Type.Name];

            if (handler != null)
            {
                handler.DynamicInvoke(new object[] { e });
            }
        }
Example #2
0
 /// <summary>
 /// Will either send the message or queue it for later delivery.
 /// </summary>
 /// <param name="message"></param>
 private void SendMessage(PsEvent message)
 {
     if (QueueMessages)
     {
         _eventQueue.Enqueue(message);
     }
     else
     {
         _dispatcher.DispatchEvent(message);
     }
 }
Example #3
0
        public static PsEvent CreateMessage(string name, Dictionary <string, object> dict)
        {
            MessageType  message = MessageType.ValueOf(name);
            ObjectHandle obj     = Activator.CreateInstance(null, message.Class);

            PsEvent e = (PsEvent)obj.Unwrap();

            e.Create(dict);

            return(e);
        }