#include <baciEvent.h>

Public Member Functions | |
| EventDispatcher () | |
| virtual | ~EventDispatcher () |
| int | subscribe (EventStrategy *event) |
| int | unsubscribe (EventStrategy *event) |
| virtual EventStrategyVector & | getSubscribers () |
| virtual ACE_Recursive_Thread_Mutex & | getMutex () |
| virtual void | suspend ()=0 |
| virtual void | resume ()=0 |
Protected Member Functions | |
| virtual void | destroyEvents () |
Protected Attributes | |
| EventStrategyVector | events_m |
| int | active_m |
| ACE_Recursive_Thread_Mutex | mutex_m |
| bool | shutdown_m |
Base class of EventDispatcher EventDispatcher is ... !!! This class provides skleleton for all further event implementations
| baci::EventDispatcher::EventDispatcher | ( | ) |
Constrcutor
| virtual baci::EventDispatcher::~EventDispatcher | ( | ) | [virtual] |
Destrcutor Destroys all registered events
| virtual void baci::EventDispatcher::destroyEvents | ( | ) | [protected, virtual] |
Destroy all registered events
| virtual ACE_Recursive_Thread_Mutex& baci::EventDispatcher::getMutex | ( | ) | [virtual] |
Get subscriber ADT thread-sync mutex.
| virtual EventStrategyVector& baci::EventDispatcher::getSubscribers | ( | ) | [virtual] |
Get vector of events
| virtual void baci::EventDispatcher::resume | ( | ) | [pure virtual] |
Inform dispatcher that one subscreiber has resumed its monitoring
| int baci::EventDispatcher::subscribe | ( | EventStrategy * | event | ) |
| virtual void baci::EventDispatcher::suspend | ( | ) | [pure virtual] |
Inform dispatcher that one subscreiber has suspended its monitoring
| int baci::EventDispatcher::unsubscribe | ( | EventStrategy * | event | ) |
Unsubscribe event
| event | event to be unsubscribed |
int baci::EventDispatcher::active_m [protected] |
Number of active (non-suspened) subscreibers
EventStrategyVector baci::EventDispatcher::events_m [protected] |
Vector of all registered events
ACE_Recursive_Thread_Mutex baci::EventDispatcher::mutex_m [protected] |
Thread-Sync mutex.
bool baci::EventDispatcher::shutdown_m [protected] |
State of the object.
1.7.0