Пример #1
0
 public void UnregisterEventObserver(string eventName, IGIIEventObserver observer)
 {
     lock (_eventObserversOpLock)
     {
         if (_inProcessingEvents <= 0)
         {
             // 没有处理中的消息,则立即处理
             var observerList = getEventObserverList(eventName);
             observerList.Remove(observer);
         }
         else
         {
             _unregisterRequests.Enqueue(new EventObserverPair(eventName, observer));
         }
     }
 }
Пример #2
0
 public void RegisterEventObserver(string eventName, IGIIEventObserver observer)
 {
     lock (_eventObserversOpLock)
     {
         if (_inProcessingEvents <= 0)
         {
             // 没有处理中的消息,则立即处理
             var observerList = getEventObserverList(eventName);
             if (!observerList.Contains(observer))
             {
                 observerList.Add(observer);
             }
         }
         else
         {
             _registerRequests.Enqueue(new EventObserverPair(eventName, observer));
         }
     }
 }
Пример #3
0
 public EventObserverPair(string e, IGIIEventObserver o)
 {
     _EventName = e;
     _Observer  = o;
 }