diff options
Diffstat (limited to 'TAO/tao/Fault_Tolerance_Service.cpp')
-rw-r--r-- | TAO/tao/Fault_Tolerance_Service.cpp | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/TAO/tao/Fault_Tolerance_Service.cpp b/TAO/tao/Fault_Tolerance_Service.cpp new file mode 100644 index 00000000000..75aa4511b5b --- /dev/null +++ b/TAO/tao/Fault_Tolerance_Service.cpp @@ -0,0 +1,41 @@ +#include "tao/Fault_Tolerance_Service.h" +#include "tao/Services_Activate.h" +#include "tao/ORB_Core.h" +#include "tao/Client_Strategy_Factory.h" + +#include "ace/Dynamic_Service.h" + +#if !defined (__ACE_INLINE__) +# include "tao/Fault_Tolerance_Service.inl" +#endif /* __ACE_INLINE__ */ + +ACE_RCSID (tao, + Fault_Tolerance_Service, + "$Id$") + +TAO_BEGIN_VERSIONED_NAMESPACE_DECL + +TAO_Fault_Tolerance_Service::~TAO_Fault_Tolerance_Service (void) +{ + delete this->ft_service_callback_; +} + +void +TAO_Fault_Tolerance_Service::init (TAO_ORB_Core *orb_core) +{ + // Look in to the svc conf stuff to get an instance of the + // FT_Service. + if (this->ft_service_callback_ == 0) + { + TAO_Services_Activate *service = + ACE_Dynamic_Service <TAO_Services_Activate>::instance ("FT_ClientService_Activate"); + + // Activate the callback + if (service) + this->ft_service_callback_ = service->activate_services (orb_core); + } + + return; +} + +TAO_END_VERSIONED_NAMESPACE_DECL |