00001 //-*- C++ -*- 00002 00003 //============================================================================= 00004 /** 00005 * @file Fault_Tolerance_Service.h 00006 * 00007 * $Id: Fault_Tolerance_Service.h 74168 2006-08-22 09:51:53Z smcqueen $ 00008 * 00009 * A collection of the ORB and ORB core related properties that are 00010 * specific to FT service. The TAO_ORB_Core holds an instance of this 00011 * class. 00012 * 00013 * 00014 * @author Bala Natarajan <bala@cs.wustl.edu> 00015 */ 00016 //============================================================================= 00017 #ifndef TAO_FAULT_TOLERANCE_SERVICE_H 00018 #define TAO_FAULT_TOLERANCE_SERVICE_H 00019 00020 #include /**/ "ace/pre.h" 00021 00022 #include /**/ "tao/TAO_Export.h" 00023 00024 #if !defined (ACE_LACKS_PRAGMA_ONCE) 00025 # pragma once 00026 #endif /* ACE_LACKS_PRAGMA_ONCE */ 00027 00028 #include "tao/Basic_Types.h" 00029 00030 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00031 00032 class TAO_Service_Callbacks; 00033 class TAO_ORB_Core; 00034 00035 /** 00036 * @class TAO_Fault_Tolerance_Service 00037 * 00038 * @brief TAO_Fault_Tolerant_Service 00039 * 00040 * A class that holds an FT service call back instance. 00041 */ 00042 class TAO_Export TAO_Fault_Tolerance_Service 00043 { 00044 00045 public: 00046 /// Ctor 00047 TAO_Fault_Tolerance_Service (void); 00048 00049 /// Dtor 00050 ~TAO_Fault_Tolerance_Service (void); 00051 00052 /// Initialise the internal data structures 00053 void init (TAO_ORB_Core *orb_core); 00054 00055 /// Return the underlying callback object 00056 TAO_Service_Callbacks *service_callback (void); 00057 00058 private: 00059 00060 /// hook to callback on to the service 00061 TAO_Service_Callbacks *ft_service_callback_; 00062 }; 00063 00064 TAO_END_VERSIONED_NAMESPACE_DECL 00065 00066 #if defined (__ACE_INLINE__) 00067 # include "tao/Fault_Tolerance_Service.inl" 00068 #endif /* __ACE_INLINE__ */ 00069 00070 #include /**/ "ace/post.h" 00071 #endif /*TAO_FAULT_TOLERANCE_SERVICE_H*/