Listing 2: The SubscriberHookup class

#include "SwitchBoard.h"
#include <String.h>


// SubscriberHookup abstract base class 
////
class SubscriberHookup
{
private:
  // name of the subscription used in
  // SwitchBoard::call()
  String _subscription; 

public:
  SubscriberHookup
    (const char* subscription) :
      _subscription(subscription) {

SwitchBoard::instance()._subscribe(this);
  }
  ~SubscriberHookup() {
     SwitchBoard::instance()
       ._unsubscribe(this);
  }

  // accessors
  const String& getSubscription() {
    return(_subscription);
  }

  // dispatching (is written by
  // the template subclass)
  virtual void deliver() = 0;
};
/* End of File */