00001 // -*- C++ -*- 00002 00003 //============================================================================= 00004 /** 00005 * @file Reactor_Timer_Interface.h 00006 * 00007 * $Id: Reactor_Timer_Interface.h 80826 2008-03-04 14:51:23Z wotte $ 00008 * 00009 * @author Irfan Pyarali <irfan@oomworks.com> 00010 */ 00011 //============================================================================= 00012 00013 #ifndef ACE_REACTOR_TIMER_INTERFACE_H 00014 #define ACE_REACTOR_TIMER_INTERFACE_H 00015 00016 #include /**/ "ace/pre.h" 00017 00018 #include "ace/Time_Value.h" 00019 00020 #if !defined (ACE_LACKS_PRAGMA_ONCE) 00021 # pragma once 00022 #endif /* ACE_LACKS_PRAGMA_ONCE */ 00023 00024 ACE_BEGIN_VERSIONED_NAMESPACE_DECL 00025 00026 class ACE_Event_Handler; 00027 00028 /** 00029 * @class ACE_Reactor_Timer_Interface 00030 * 00031 * @brief Interface for timer related methods on the Reactor. 00032 */ 00033 class ACE_Export ACE_Reactor_Timer_Interface 00034 { 00035 public: 00036 00037 virtual ~ACE_Reactor_Timer_Interface (void); 00038 00039 virtual long schedule_timer (ACE_Event_Handler *event_handler, 00040 const void *arg, 00041 const ACE_Time_Value &delay, 00042 const ACE_Time_Value &interval = ACE_Time_Value::zero) = 0; 00043 00044 virtual int reset_timer_interval (long timer_id, 00045 const ACE_Time_Value &interval) = 0; 00046 00047 virtual int cancel_timer (long timer_id, 00048 const void **arg = 0, 00049 int dont_call_handle_close = 1) = 0; 00050 00051 virtual int cancel_timer (ACE_Event_Handler *event_handler, 00052 int dont_call_handle_close = 1) = 0; 00053 00054 }; 00055 00056 ACE_END_VERSIONED_NAMESPACE_DECL 00057 00058 #include /**/ "ace/post.h" 00059 00060 #endif /* ACE_REACTOR_TIMER_INTERFACE_H */