# HEventListenerManager

## Functions

| `HEventListenerManager`
| `~HEventListenerManager`
void | `AddEventListener`
void | `Reset`
void | `StartQuery`
HEventListener * | `GetEventListener`
bool | `RemoveEventListener`

## Detailed Description

class HEventListenerManager

  The HEventListenerManager class is used to dispatch event for a specific type.

  Public Functions

  HEventListenerManager()

    Constructs an HEventListenerManager object.

  virtual ~HEventListenerManager()
  void AddEventListener(HEventListener *eventlistener, int priority)

    This method adds eventlistener to a list of subscribers who want to receive notification when an event handled by this manager occurs.

    Parameters

      - eventlistener – Event Listener to add.

      - priority – Priority for this listener. You can pass one of the following #HLISTENER_PRIORITY_NORMAL, #HLISTENER_PRIORITY_HIGH or #HLISTENER_PRIORITY_LOW.

  void Reset()

    This method stops the query process. If you call GetEventListener() after a call to Reset(), GetEventListener will return a null pointer.

  void StartQuery()

    This method starts the query process. Once StartQuery() has been called,

  HEventListener *GetEventListener()

    Use this method to iterate through the list of event listeners during a query. If StartQuery() was not called first, then the method will return 0.

    Returns

      A pointer to next Event Listener in the priority queue. This method will return null if you are at the end of queue or StartQuery was not called to begin the query process.

  bool RemoveEventListener(HEventListener *eventlistener)

    This method removes eventlistener from the list of subscribers who want to receive notification when an event handled by this manager occurs.

    Parameters

      eventlistener – Event Listener to remove.