#include <coherence/util/Listeners.hpp>
Inherits Object.
The implementation is optimized based on the assumption that listeners are added and removed relatively rarely, and that the list of listeners is requested relatively often.
Thread safety is implemented by synchronizing on all methods that modify any data member of the class. Read-only methods are not synchronized.
Public Types | ||||
typedef spec::Handle | Handle | |||
Listeners Handle definition. | ||||
typedef spec::View | View | |||
Listeners View definition. | ||||
typedef spec::Holder | Holder | |||
Listeners Holder definition. | ||||
Public Member Functions | ||||
virtual void | add (EventListener::Handle hListener) | |||
Add a listener. | ||||
virtual void | remove (EventListener::View vListener) | |||
Remove a listener. | ||||
virtual void | addAll (Listeners::View vListeners) | |||
Add all listeners from another Listeners object. | ||||
virtual void | removeAll () | |||
Remove all listeners. | ||||
virtual bool | isEmpty () const | |||
Check if there are no listeners. | ||||
virtual bool | contains (EventListener::Handle hListener) const | |||
Check if a listener is in the list of listeners. | ||||
virtual ObjectArray::View | listeners () const | |||
Get the list of listeners. | ||||
virtual void | toStream (std::ostream &out) const | |||
Output a human-readable description of this Object to the given stream. coherence::lang::operator<<(std::ostream, Object::View) is defined and will call into the toStream method, to output Objects. If a managed String object is desired, the COH_TO_STRING macro can be used to build up a String from streamable contents.
Object::View vKey = ... Object::View vValue = ... std::cout << vKey << " = " << vValue << std::endl; String::Handle hs = COH_TO_STRING(vKey << " = " << vValue);
| ||||
Protected Member Functions | ||||
Listeners () | ||||
Create a new Listeners instance. |
virtual void add | ( | EventListener::Handle | hListener | ) | [virtual] |
virtual void remove | ( | EventListener::View | vListener | ) | [virtual] |
virtual void addAll | ( | Listeners::View | vListeners | ) | [virtual] |
virtual bool isEmpty | ( | ) | const [virtual] |
Check if there are no listeners.
virtual bool contains | ( | EventListener::Handle | hListener | ) | const [virtual] |
Check if a listener is in the list of listeners.
hListener | the EventListener to search for |
virtual ObjectArray::View listeners | ( | ) | const [virtual] |
Get the list of listeners.