Ejemplo n.º 1
0
        private void _ProcessEvent(Event Event, List<sEventHandler> handlers)
        {
            if (Event.IsSynchronous)
            {
                foreach (sEventHandler handler in handlers)
                {
                    try
                    {
                        handler.Handler.ProcessEvent(Event);
                    }
                    catch (Exception e)
                    {

                    }
                }
            }
            else
            {
                foreach (sEventHandler handler in handlers)
                {
                    Thread th = new Thread(new ParameterizedThreadStart(_ProcessEventAsync));
                    th.IsBackground = true;
                    th.Start(new object[]{
                        Event,
                        handler
                    });
                }
            }
        }
Ejemplo n.º 2
0
 private static void _ProcessEventInChildren(Messages.Event Event)
 {
     System.sDomain[] doms = System.Domains;
     foreach (System.sDomain dom in doms)
     {
         dom.ProcessEvent(Event);
     }
 }
Ejemplo n.º 3
0
 public void ProcessEvent(Messages.Event Event)
 {
     if (Event.IsSynchronous)
     {
         _processEvent.Invoke(Event);
     }
     else
     {
         _processEvent.BeginInvoke(Event, null, null);
     }
 }
Ejemplo n.º 4
0
 public void ProcessEvent(Event Event)
 {
     if (Event.NeedsToBeProcessed(AppDomain.CurrentDomain))
     {
         Event.MarkInvokedInDomain(AppDomain.CurrentDomain);
         sEventHandler[] tmp;
         _mut.WaitOne();
         tmp = new sEventHandler[_handlers.Count];
         _handlers.CopyTo(tmp, 0);
         _mut.ReleaseMutex();
         if (Event.IsSecurred)
         {
             List<sEventHandler> handlers = new List<sEventHandler>();
             foreach (sEventHandler hndlr in tmp)
             {
                 if (Event.IsHandlerAllowed(AppDomain.CurrentDomain.FriendlyName, hndlr.Handler.GetType().FullName))
                     handlers.Add(hndlr);
             }
         }else
             _ProcessEvent(Event, new List<sEventHandler>(tmp));
     }
 }
Ejemplo n.º 5
0
 public static void TriggerEvent(IEvent Event)
 {
     Messages.Event evnt = new Messages.Event(Event);
     _core.AbsoluteParent.ProcessEvent(evnt);
 }
Ejemplo n.º 6
0
 public static void TriggerEvent(IEvent Event)
 {
     Messages.Event evnt = new Messages.Event(Event);
     _core.AbsoluteParent.ProcessEvent(evnt);
 }