summaryrefslogtreecommitdiff
path: root/apps/JAWS3/jaws3/Timer_Helpers.cpp
blob: 1b7d4b60c411597bea8a5af4ed1295dcf50ca606 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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;
}