Handler

-- interception
  class handler { 
\fbox{handler}
event* e; public: handler(event* p) : e(p) { g = 0; } virtual ~handler() { delete e; } int info() { return e->info(); } void set(gadget* p ) { g = p; } virtual void operator()() { if (g) g->callback(); } protected: gadget* g; };

slide: A handler class