summaryrefslogtreecommitdiff
path: root/ACE/apps/JAWS3/jaws3/Timer_Helpers.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'ACE/apps/JAWS3/jaws3/Timer_Helpers.cpp')
-rw-r--r--ACE/apps/JAWS3/jaws3/Timer_Helpers.cpp40
1 files changed, 40 insertions, 0 deletions
diff --git a/ACE/apps/JAWS3/jaws3/Timer_Helpers.cpp b/ACE/apps/JAWS3/jaws3/Timer_Helpers.cpp
new file mode 100644
index 00000000000..1b7d4b60c41
--- /dev/null
+++ b/ACE/apps/JAWS3/jaws3/Timer_Helpers.cpp
@@ -0,0 +1,40 @@
+// $Id$
+
+#ifndef JAWS_BUILD_DLL
+#define JAWS_BUILD_DLL
+#endif
+
+#include "jaws3/Timer_Helpers.h"
+
+int
+JAWS_Timer_EH::handle_timeout (const ACE_Time_Value &, const void *)
+{
+ JAWS_Event_Result timer_result ( 0
+ , JAWS_Event_Result::JE_OK
+ , JAWS_Event_Result::JE_TIMER_OK
+ );
+
+ if (this->completer_)
+ this->completer_->timer_complete (timer_result, this->act_);
+
+ if (this->interval_)
+ return 0;
+
+ this->expired_ = 1;
+ return -1;
+}
+
+int
+JAWS_Timer_EH::handle_close (ACE_HANDLE, ACE_Reactor_Mask)
+{
+ JAWS_Event_Result timer_result ( 0
+ , JAWS_Event_Result::JE_CANCEL
+ , JAWS_Event_Result::JE_TIMER_CANCEL
+ );
+
+ if (! this->expired_ && this->completer_)
+ this->completer_->timer_complete (timer_result, this->act_);
+
+ return 0;
+}
+