summaryrefslogtreecommitdiff
path: root/ACE/apps/JAWS3/jaws3/Timer_Helpers.h
diff options
context:
space:
mode:
Diffstat (limited to 'ACE/apps/JAWS3/jaws3/Timer_Helpers.h')
-rw-r--r--ACE/apps/JAWS3/jaws3/Timer_Helpers.h44
1 files changed, 44 insertions, 0 deletions
diff --git a/ACE/apps/JAWS3/jaws3/Timer_Helpers.h b/ACE/apps/JAWS3/jaws3/Timer_Helpers.h
new file mode 100644
index 00000000000..9ce8434975f
--- /dev/null
+++ b/ACE/apps/JAWS3/jaws3/Timer_Helpers.h
@@ -0,0 +1,44 @@
+/* -*- c+ -*- */
+// $Id$
+
+#ifndef JAWS_TIMER_HELPERS_H
+#define JAWS_TIMER_HELPERS_H
+
+#include "ace/Singleton.h"
+#include "ace/Event_Handler.h"
+
+#include "jaws3/Timer.h"
+#include "jaws3/Event_Completer.h"
+#include "jaws3/Event_Result.h"
+
+class JAWS_Timer_EH : public ACE_Event_Handler
+{
+public:
+
+ JAWS_Timer_EH ( JAWS_Event_Completer *completer
+ , void *act = 0
+ , int interval = 0
+ )
+ : completer_ (completer)
+ , act_ (act)
+ , interval_ (interval)
+ , expired_ (0)
+ {
+ }
+
+ int handle_timeout (const ACE_Time_Value &tv, const void *act);
+ // Called when timer expires.
+
+ int handle_close (ACE_HANDLE h, ACE_Reactor_Mask m);
+ // Called directly when timer is canceled.
+
+private:
+
+ JAWS_Event_Completer *completer_;
+ void *act_;
+ const int interval_;
+ int expired_;
+
+};
+
+#endif /* JAWS_TIMER_HELPERS_H */