3 //=============================================================================
5 * @file Reactor_Timer_Interface.h
7 * $Id: Reactor_Timer_Interface.h 80826 2008-03-04 14:51:23Z wotte $
9 * @author Irfan Pyarali <irfan@oomworks.com>
11 //=============================================================================
13 #ifndef ACE_REACTOR_TIMER_INTERFACE_H
14 #define ACE_REACTOR_TIMER_INTERFACE_H
16 #include /**/ "ace/pre.h"
18 #include "ace/Time_Value.h"
20 #if !defined (ACE_LACKS_PRAGMA_ONCE)
22 #endif /* ACE_LACKS_PRAGMA_ONCE */
24 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
26 class ACE_Event_Handler
;
29 * @class ACE_Reactor_Timer_Interface
31 * @brief Interface for timer related methods on the Reactor.
33 class ACE_Export ACE_Reactor_Timer_Interface
37 virtual ~ACE_Reactor_Timer_Interface (void);
39 virtual long schedule_timer (ACE_Event_Handler
*event_handler
,
41 const ACE_Time_Value
&delay
,
42 const ACE_Time_Value
&interval
= ACE_Time_Value::zero
) = 0;
44 virtual int reset_timer_interval (long timer_id
,
45 const ACE_Time_Value
&interval
) = 0;
47 virtual int cancel_timer (long timer_id
,
49 int dont_call_handle_close
= 1) = 0;
51 virtual int cancel_timer (ACE_Event_Handler
*event_handler
,
52 int dont_call_handle_close
= 1) = 0;
56 ACE_END_VERSIONED_NAMESPACE_DECL
58 #include /**/ "ace/post.h"
60 #endif /* ACE_REACTOR_TIMER_INTERFACE_H */