Exemplo n.º 1
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));
     }
 }