summaryrefslogtreecommitdiff
path: root/TAO/tao/Fault_Tolerance_Service.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tao/Fault_Tolerance_Service.cpp')
-rw-r--r--TAO/tao/Fault_Tolerance_Service.cpp41
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