/// <summary> /// DeRegister the event handler /// </summary> /// <param name="EventHandler">The event handler.</param> public void DeRegister(MessageBusEventHandler EventHandler) { if (EventHandlers.Contains(EventHandler)) { EventHandlers.Remove(EventHandler); } }
/// <summary> /// Registers the specified event handler. /// </summary> /// <param name="EventHandler">The event handler.</param> public void Register(MessageBusEventHandler EventHandler) { if (EventHandler == null) { return; } EventHandlers.Add(EventHandler); }
/// <summary> /// Registers the specified event handler. /// </summary> /// <param name="EventHandler">The event handler.</param> public void Register(MessageBusEventHandler EventHandler) { if (EventHandler == null) { return; } if (!EventHandlers.Contains(EventHandler)) { EventHandlers.Add(EventHandler); } }
void postStickyAfterRegistation(MessageBusEventHandler EventHandler) { MessageBusEvent eventToBePosted = null; lock (mStickyEvents) { if (mStickyEvents.ContainsKey(EventHandler.EventId)) { // consider using this: // Execute(EventHandler.EventAction, this, mStickyEvents[EventHandler.EventId]); eventToBePosted = mStickyEvents[EventHandler.EventId]; } } if (eventToBePosted != null) { EventHandler.EventAction(this, eventToBePosted); } }
/// <summary> /// DeRegister the event handler /// </summary> /// <param name="EventHandler">The event handler.</param> public void DeRegister(MessageBusEventHandler EventHandler) { EventHandlers.Remove(EventHandler); }
/// <summary> /// Registers the sticky event handler. If there is any sticky event waiting, it will be posted immediately. /// </summary> /// <param name="EventHandler">The event handler.</param> public void RegisterSticky(MessageBusEventHandler EventHandler) { Register(EventHandler); postStickyAfterRegistation(EventHandler); }