00001 // -*- C++ -*- 00002 00003 /** 00004 * @file Timer.h 00005 * 00006 * $Id: Timer.h 71526 2006-03-14 06:14:35Z jtc $ 00007 * 00008 * @author Pradeep Gore <pradeep@oomworks.com> 00009 */ 00010 00011 #ifndef TAO_Notify_TIMER_H 00012 #define TAO_Notify_TIMER_H 00013 #include /**/ "ace/pre.h" 00014 00015 #include "orbsvcs/Notify/notify_serv_export.h" 00016 00017 #if !defined (ACE_LACKS_PRAGMA_ONCE) 00018 # pragma once 00019 #endif /* ACE_LACKS_PRAGMA_ONCE */ 00020 00021 #include "orbsvcs/Notify/Refcountable.h" 00022 00023 #include "ace/Time_Value.h" 00024 00025 ACE_BEGIN_VERSIONED_NAMESPACE_DECL 00026 class ACE_Event_Handler; 00027 ACE_END_VERSIONED_NAMESPACE_DECL 00028 00029 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00030 00031 /** 00032 * @class TAO_Notify_Timer 00033 * 00034 * @brief Interface for scheduling timers. 00035 * 00036 */ 00037 class TAO_Notify_Serv_Export TAO_Notify_Timer : public TAO_Notify_Refcountable 00038 { 00039 public: 00040 typedef TAO_Notify_Refcountable_Guard_T< TAO_Notify_Timer > Ptr; 00041 /// Destructor 00042 virtual ~TAO_Notify_Timer (){}; 00043 00044 /// Schedule a timer 00045 virtual long schedule_timer (ACE_Event_Handler *handler, 00046 const ACE_Time_Value &delay_time, 00047 const ACE_Time_Value &interval) = 0; 00048 00049 /// Cancel Timer 00050 virtual int cancel_timer (long timer_id) = 0; 00051 }; 00052 00053 TAO_END_VERSIONED_NAMESPACE_DECL 00054 00055 #include /**/ "ace/post.h" 00056 #endif /* TAO_Notify_TIMER_H */