summaryrefslogtreecommitdiff
path: root/ACE/examples/APG/Timers/TimerDispatcher.h
diff options
context:
space:
mode:
Diffstat (limited to 'ACE/examples/APG/Timers/TimerDispatcher.h')
-rw-r--r--ACE/examples/APG/Timers/TimerDispatcher.h40
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*/
+