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); } }
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); } }
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); }
public void Unsubscribe(IHiveEventSubscriber <T, TSize, TIterator> subscriber) { Unsubscribe(subscriber, _supportedEvents); }