// forward declares
class SubscriberHookup;
class SwitchBoard
{
friend class SubscriberHookup;
private:
// handle to singleton instance
static SwitchBoard* _self;
// array of subscribing object hookups
// (NULL terminated)
SubscriberHookup** _hookups;
int _thookups; // total number of subscriber hookups
protected:
// singleton constructor
SwitchBoard();
// api implementation
void _subscribe
(SubscriberHookup* hookup);
void _unsubscribe
(SubscriberHookup* hookup);
bool _post(const char* subscription);
public:
// singleton access
static SwitchBoard& instance();
// message dispatching
static bool
post(const char* subscription) {
return(instance()._post(subscription));
}
};
/* End of File */