00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef TAO_EC_TIMEOUT_GENERATOR_H
00017 #define TAO_EC_TIMEOUT_GENERATOR_H
00018
00019 #include "ace/pre.h"
00020 #include "ace/Event_Handler.h"
00021
00022 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00023 # pragma once
00024 #endif
00025
00026 #include "orbsvcs/Event/event_serv_export.h"
00027
00028 #include "orbsvcs/Event/EC_Timeout_Filter.h"
00029
00030 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00031
00032 class TAO_EC_QOS_Info;
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047 class TAO_RTEvent_Serv_Export TAO_EC_Timeout_Generator
00048 {
00049 public:
00050
00051 virtual ~TAO_EC_Timeout_Generator (void);
00052
00053
00054 virtual void activate (void) = 0;
00055
00056
00057
00058 virtual void shutdown (void) = 0;
00059
00060
00061 virtual int schedule_timer (TAO_EC_Timeout_Filter* filter,
00062 const ACE_Time_Value& delta,
00063 const ACE_Time_Value& interval) = 0;
00064
00065
00066 virtual int cancel_timer (const TAO_EC_QOS_Info& info,
00067 int id) = 0;
00068 };
00069
00070
00071
00072
00073
00074
00075
00076
00077
00078
00079
00080
00081 class TAO_RTEvent_Serv_Export TAO_EC_Timeout_Adapter : public ACE_Event_Handler
00082 {
00083 public:
00084
00085 TAO_EC_Timeout_Adapter (void);
00086
00087 private:
00088
00089 virtual int handle_timeout (const ACE_Time_Value &tv,
00090 const void *act);
00091 };
00092
00093 TAO_END_VERSIONED_NAMESPACE_DECL
00094
00095 #if defined (__ACE_INLINE__)
00096 #include "orbsvcs/Event/EC_Timeout_Generator.i"
00097 #endif
00098
00099 #include "ace/post.h"
00100
00101 #endif