#include <subscriber.h>
Public Member Functions | |
Listener::ID | add_listener (Listener *l) |
Add a new Listener to this Subscriber. | |
bool | remove_listener_with_id (const Listener::ID &id) |
Remove a Listener given its unique ID. | |
void | remove_all_listener () |
Remove all listeners from this Subscriber. | |
void | add_event_filter (Listener::ID, EventFilter *) |
Install an EventFilter for a given installed Listener. | |
void | add_event_filter (EventFilter *) |
Install an EventFilter for all installed Listener and futur Listeners to install. | |
void | remove_all_event_filters () |
Remove all EventFilter for the installed Listener and for the futur Listener to install. | |
Listener * | get_listener_with_id (const Listener::ID &) const |
Get the Listener given its unique ID id. | |
void | block_events () |
Block the event reception. | |
void | unblock_events () |
Unblock the event reception. | |
bool | are_events_blocked () const |
Return true if this Subscriber is blocked from receiving events. | |
void | dump_subscriber (std::ostream &, int spaces=0) |
Protected Member Functions | |
Publisher * | get_source () |
Return the Publisher which sent the event. | |
template<typename LISTENER> | |
Listener::ID | register_listener () |
This method have to be used when inheriting from a Listener, in order to register this listener (do be done within the constructor). | |
Friends | |
class | Publisher |
class | MultiplexerListener |
When a Subscriber is destroyed, its listeners are automatically unregistered from the Publisher and destroyed. Therefor, this class doesn't need to be trackable (unlike boost::signal)
|
Add a new Listener to this Subscriber.
|
|
Return the Publisher which sent the event. Only available when recieving an event or a member is called from a listener. Otherwise, return NULL |
|
This method have to be used when inheriting from a Listener, in order to register this listener (do be done within the constructor).
|
|
Remove a Listener given its unique ID.
|