3 #ifndef SZA_UTIL_PERIODICTIMER_H
4 #define SZA_UTIL_PERIODICTIMER_H
22 #define PERIODIC_TIMER_HANDLER(fn) void (fn)(void* args)
31 class PeriodicTimerMsg :
public GenericTaskMsg {
44 unsigned intervalInSeconds;
48 PERIODIC_TIMER_HANDLER(*fn);
53 PERIODIC_TIMER_HANDLER(*fn);
68 public SpawnableTask<PeriodicTimerMsg> {
77 PERIODIC_TIMER_HANDLER(*fn_);
89 virtual ~PeriodicTimer();
93 void addHandler(PERIODIC_TIMER_HANDLER(*handler),
void* args=0);
97 void removeHandler(PERIODIC_TIMER_HANDLER(*handler));
101 void enableTimer(
bool enable,
unsigned intervalInSeconds=0);
109 std::vector<Handler> handlers_;
115 void executeEnableTimer(
bool enable,
unsigned intervalInSeconds);
116 void executeAddHandler(PERIODIC_TIMER_HANDLER(*handler),
void* args=0);
117 void executeRemoveHandler(PERIODIC_TIMER_HANDLER(*handler));
124 void processMsg(PeriodicTimerMsg* msg);
128 void registerTimeOut();
139 #endif // End #ifndef SZA_UTIL_PERIODICTIMER_H
Tagged: Fri Nov 14 12:39:33 UTC 2003.
virtual void addHandler(PeriodicTimerMsg *msg)
Respond to a message to add/remove a handler.
virtual void enableTimer(PeriodicTimerMsg *msg)
Respond to a message to enable/disable a timer.
Tagged: Fri Nov 14 12:39:34 UTC 2003.
Tagged: Tue May 2 16:31:46 PDT 2006.
Tagged: Fri Jan 26 16:49:57 NZDT 2007.