Generator class for a specific type of events. More...
#include <xmmEvents.hpp>
Public Types | |
| typedef std::function< void(EventType &)> | EventCallBack |
Public Member Functions | |
| EventGenerator () | |
| Default constructor. More... | |
| virtual | ~EventGenerator () |
| Destructor. More... | |
| template<typename U , typename args , class ListenerClass > | |
| void | addListener (U *owner, void(ListenerClass::*listenerMethod)(args)) |
| Adds a listener object to be notified when events are sent. More... | |
| template<typename U , typename args , class ListenerClass > | |
| void | removeListener (U *owner, void(ListenerClass::*listenerMethod)(args)) |
| Removes a listener object. More... | |
| void | removeListeners () |
| Removes all listeners. More... | |
| void | notifyListeners (EventType &e) const |
| Propagates the event to all listeners. More... | |
Private Attributes | |
| std::map< void *, EventCallBack > | callbacks_ |
| Set of listener objects. More... | |
Generator class for a specific type of events.
| EventType | Type of Events that can be sent |
| typedef std::function<void(EventType&)> xmm::EventGenerator< EventType >::EventCallBack |
|
inline |
Default constructor.
|
inlinevirtual |
Destructor.
Also notifies all listeners that this generators is deleted
|
inline |
Adds a listener object to be notified when events are sent.
| owner | Pointer to the listener object |
| listenerMethod | Method to be called in the target class |
| U | type of the target object |
| args | callback arguments |
| ListenerClass | Listener Class |
|
inline |
Propagates the event to all listeners.
| e | event |
|
inline |
Removes a listener object.
| owner | Pointer to the listener object |
| listenerMethod | Method to be called in the target class |
| U | type of the target object |
| args | callback arguments |
| ListenerClass | Listener Class |
|
inline |
Removes all listeners.
|
private |
Set of listener objects.