Пример #1
0
 public void Unsubscribe(IHiveEventSubscriber <T, TSize, TIterator> subscriber, HiveEvents fromEvents)
 {
     if ((fromEvents & HiveEvents.Added) == HiveEvents.Added && _addEventSubscribers != null)
     {
         _addEventSubscribers.Remove(subscriber);
     }
     if ((fromEvents & HiveEvents.Removing) == HiveEvents.Removing && _removingEventSubscribers != null)
     {
         _removingEventSubscribers.Remove(subscriber);
     }
 }
Пример #2
0
 public void Subscribe(IHiveEventSubscriber <T, TSize, TIterator> subscriber, HiveEvents toEvents)
 {
     if ((toEvents & HiveEvents.Added) == HiveEvents.Added)
     {
         Subscribe(subscriber, HiveEvents.Added, ref _addEventSubscribers);
     }
     if ((toEvents & HiveEvents.Removing) == HiveEvents.Removing)
     {
         Subscribe(subscriber, HiveEvents.Removing, ref _removingEventSubscribers);
     }
 }
Пример #3
0
        private void Subscribe(IHiveEventSubscriber <T, TSize, TIterator> subscriber, HiveEvents toEvent,
                               ref IList <IHiveEventSubscriber <T, TSize, TIterator> > subscriberList)
        {
            if ((_supportedEvents & toEvent) == 0)
            {
                throw new NotSupportedException(
                          string.Format("The '{0}' event is not supported.", toEvent));
            }

            if (subscriberList == null)
            {
                subscriberList = new List <IHiveEventSubscriber <T, TSize, TIterator> >();
            }
            subscriberList.Add(subscriber);
        }
Пример #4
0
 public void Unsubscribe(IHiveEventSubscriber <T, TSize, TIterator> subscriber)
 {
     Unsubscribe(subscriber, _supportedEvents);
 }