53 virtual void run(
Event * = NULL)
58 virtual void _run(
Event *e=NULL) { run(e); }
59 virtual void registerSignal(
Signal *signal);
60 virtual void unregisterSignal(
Signal *signal,
bool _disconnect=
true);
61 virtual void unregisterAll();
62 vector<Signal*> _signals;
66 template <
class eventT>
72 virtual void run(eventT * )
75 void operator() (eventT * )
80 virtual void _run(
Event *e)
82 run(
static_cast<eventT*
>(e));
89 template <
class T,
class eventT=Event>
93 typedef void(T::*memberFunc)(eventT*);
94 typedef void(T::*voidMemberFunc)();
108 void init(T *inst, memberFunc func)
113 void init(T *inst, voidMemberFunc func)
116 _void_function = func;
120 memberFunc _function;
121 voidMemberFunc _void_function;
122 virtual void run(eventT *e=NULL)
128 (_instance->*_function)(e);
130 (_instance->*_void_function)();
134 template <
class eventT=Event>
138 typedef void(*funcPtr)(eventT*);
139 typedef void(*voidFuncPtr)();
146 virtual void run(eventT *e)