diff options
Diffstat (limited to 'ACE/examples/APG/Timers/TimerDispatcher.h')
-rw-r--r-- | ACE/examples/APG/Timers/TimerDispatcher.h | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/ACE/examples/APG/Timers/TimerDispatcher.h b/ACE/examples/APG/Timers/TimerDispatcher.h new file mode 100644 index 00000000000..fc519b77615 --- /dev/null +++ b/ACE/examples/APG/Timers/TimerDispatcher.h @@ -0,0 +1,40 @@ +/* -*- C++ -*- */ +// $Id$ + +#if !defined(TIMER_DISPATCHER_H) +#define TIMER_DISPATCHER_H + +#include "ace/Event_Handler.h" +#include "ace/Singleton.h" +#include "ace/Synch.h" // needed for ACE_Event +#include "ace/Timer_Queue.h" + +// Listing 1 code/ch20 +class Timer_Dispatcher +{ +public: + void wait_for_event (void); + + long schedule (ACE_Event_Handler *cb, + void *arg, + const ACE_Time_Value &abs_time, + const ACE_Time_Value &interval); + + int cancel (ACE_Event_Handler *cb, + int dont_call_handle_close = 1); + + int reset_interval (long timer_id, + const ACE_Time_Value &interval); + + void set (ACE_Timer_Queue *timer_queue); + +private: + ACE_Timer_Queue *timer_queue_; + ACE_Event timer_; +}; + +typedef ACE_Singleton<Timer_Dispatcher, ACE_Null_Mutex> Timer; +// Listing 1 + +#endif /*TIMER_DISPATCHER_H*/ + |