summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/LWFT_Service/host_monitor.cpp
diff options
context:
space:
mode:
authoraky <aky@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2011-06-16 20:28:00 +0000
committeraky <aky@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2011-06-16 20:28:00 +0000
commitea2354fe1a7b7c40defc6c4094e1477051e91ca8 (patch)
treea8b4d98e24f547b93e62cb47f567b53daa7e31cd /TAO/orbsvcs/LWFT_Service/host_monitor.cpp
parenteb6d9d34c28a9b1ce979b4c4c962f06fce515aea (diff)
downloadATCD-ea2354fe1a7b7c40defc6c4094e1477051e91ca8.tar.gz
Thu Jun 16 20:25:08 UTC 2011 Akshay V. Dabholkar <aky@dre.vanderbilt.edu>DeCoM
* orbsvcs/LWFT_Service: * orbsvcs/LWFT_Service/LWFT_Service.mpc: * orbsvcs/LWFT_Service/RMOptions.h: * orbsvcs/LWFT_Service/RMOptions.cpp: * orbsvcs/LWFT_Service/ReplicationManager_process.cpp: * orbsvcs/LWFT_Service/host_monitor.cpp: * orbsvcs/orbsvcs/LWFT: * orbsvcs/orbsvcs/LWFT/AppInfo.idl: * orbsvcs/orbsvcs/LWFT/AppOptions.h: * orbsvcs/orbsvcs/LWFT/AppOptions.cpp: * orbsvcs/orbsvcs/LWFT/AppSideMonitor_Handler.h: * orbsvcs/orbsvcs/LWFT/AppSideMonitor_Handler.cpp: * orbsvcs/orbsvcs/LWFT/AppSideMonitor_Thread.h: * orbsvcs/orbsvcs/LWFT/AppSideMonitor_Thread.cpp: * orbsvcs/orbsvcs/LWFT/AppSideReg.h: * orbsvcs/orbsvcs/LWFT/AppSideReg.cpp: * orbsvcs/orbsvcs/LWFT/Barrier_Guard.h: * orbsvcs/orbsvcs/LWFT/Barrier_Guard.cpp: * orbsvcs/orbsvcs/LWFT/Client_ORBInitializer.h: * orbsvcs/orbsvcs/LWFT/Client_ORBInitializer.cpp: * orbsvcs/orbsvcs/LWFT/Client_Request_Interceptor.h: * orbsvcs/orbsvcs/LWFT/Client_Request_Interceptor.cpp: * orbsvcs/orbsvcs/LWFT/CorbaStateUpdate.h: * orbsvcs/orbsvcs/LWFT/CorbaStateUpdate.cpp: * orbsvcs/orbsvcs/LWFT/DDSFailure.h: * orbsvcs/orbsvcs/LWFT/DDSFailure.cpp: * orbsvcs/orbsvcs/LWFT/DDSStateReaderListener_T.h: * orbsvcs/orbsvcs/LWFT/DDSStateReaderListener_T.cpp: * orbsvcs/orbsvcs/LWFT/DDSStateUpdate_T.h: * orbsvcs/orbsvcs/LWFT/DDSStateUpdate_T.cpp: * orbsvcs/orbsvcs/LWFT/Failure_Handler.h: * orbsvcs/orbsvcs/LWFT/Failure_Handler.cpp: * orbsvcs/orbsvcs/LWFT/FaultNotification.idl: * orbsvcs/orbsvcs/LWFT/ForwardingAgent.h: * orbsvcs/orbsvcs/LWFT/ForwardingAgent.cpp: * orbsvcs/orbsvcs/LWFT/ForwardingAgent.idl: * orbsvcs/orbsvcs/LWFT/HMOptions.h: * orbsvcs/orbsvcs/LWFT/HMOptions.cpp: * orbsvcs/orbsvcs/LWFT/HostMonitor.idl: * orbsvcs/orbsvcs/LWFT/HostMonitorImpl.h: * orbsvcs/orbsvcs/LWFT/HostMonitorImpl.cpp: * orbsvcs/orbsvcs/LWFT/IOR_Interceptor.h: * orbsvcs/orbsvcs/LWFT/IOR_Interceptor.cpp: * orbsvcs/orbsvcs/LWFT/LWFT.mpc: * orbsvcs/orbsvcs/LWFT/LWFTDataStructures.idl: * orbsvcs/orbsvcs/LWFT/LWFT_Client.vcproj: * orbsvcs/orbsvcs/LWFT/LWFT_Client_Init.h: * orbsvcs/orbsvcs/LWFT/LWFT_Client_Init.cpp: * orbsvcs/orbsvcs/LWFT/LWFT_Common.vcproj: * orbsvcs/orbsvcs/LWFT/LWFT_ReplicationManager.vcproj: * orbsvcs/orbsvcs/LWFT/LWFT_Server.vcproj: * orbsvcs/orbsvcs/LWFT/LWFT_Server_Init.h: * orbsvcs/orbsvcs/LWFT/LWFT_Server_Init.cpp: * orbsvcs/orbsvcs/LWFT/LWFT_StateSyncAgent.vcproj: * orbsvcs/orbsvcs/LWFT/Monitor_Manager.h: * orbsvcs/orbsvcs/LWFT/Monitor_Manager.inl: * orbsvcs/orbsvcs/LWFT/Monitor_Manager.cpp: * orbsvcs/orbsvcs/LWFT/Monitor_Thread.h: * orbsvcs/orbsvcs/LWFT/Monitor_Thread.cpp: * orbsvcs/orbsvcs/LWFT/ObjectReferenceFactory.h: * orbsvcs/orbsvcs/LWFT/ObjectReferenceFactory.cpp: * orbsvcs/orbsvcs/LWFT/ObjectReferenceFactory.idl: * orbsvcs/orbsvcs/LWFT/README: * orbsvcs/orbsvcs/LWFT/RM_Proxy.h: * orbsvcs/orbsvcs/LWFT/RM_Proxy.cpp: * orbsvcs/orbsvcs/LWFT/ReplicatedApplication.idl: * orbsvcs/orbsvcs/LWFT/ReplicationManager.h: * orbsvcs/orbsvcs/LWFT/ReplicationManager.cpp: * orbsvcs/orbsvcs/LWFT/ReplicationManager.idl: * orbsvcs/orbsvcs/LWFT/ServerORBInitializer.h: * orbsvcs/orbsvcs/LWFT/ServerORBInitializer.cpp: * orbsvcs/orbsvcs/LWFT/StateSyncAgentTask.h: * orbsvcs/orbsvcs/LWFT/StateSyncAgentTask.cpp: * orbsvcs/orbsvcs/LWFT/StateSynchronizationAgent.idl: * orbsvcs/orbsvcs/LWFT/StateSynchronizationAgent_i.h: * orbsvcs/orbsvcs/LWFT/StateSynchronizationAgent_i.cpp: * orbsvcs/orbsvcs/LWFT/StateSynchronizationAgent_i_T.cpp: * orbsvcs/orbsvcs/LWFT/StatefulObject.h: * orbsvcs/orbsvcs/LWFT/StatefulObject.cpp: * orbsvcs/orbsvcs/LWFT/Timer.h: * orbsvcs/orbsvcs/LWFT/Timer.cpp: * orbsvcs/orbsvcs/LWFT/Utilization_Monitor.h: * orbsvcs/orbsvcs/LWFT/Utilization_Monitor.cpp: * orbsvcs/orbsvcs/LWFT/host_monitor_export.h: * orbsvcs/orbsvcs/LWFT/lwft_client_export.h: * orbsvcs/orbsvcs/LWFT/lwft_common_export.h: * orbsvcs/orbsvcs/LWFT/lwft_server_export.h: * orbsvcs/orbsvcs/LWFT/rm_export.h: * orbsvcs/orbsvcs/LWFT/rm_impl_export.h: * orbsvcs/orbsvcs/LWFT/ssa_export.h: Merged additive orbsvcs of LWFT(FLARE) implementation
Diffstat (limited to 'TAO/orbsvcs/LWFT_Service/host_monitor.cpp')
-rw-r--r--TAO/orbsvcs/LWFT_Service/host_monitor.cpp77
1 files changed, 77 insertions, 0 deletions
diff --git a/TAO/orbsvcs/LWFT_Service/host_monitor.cpp b/TAO/orbsvcs/LWFT_Service/host_monitor.cpp
new file mode 100644
index 00000000000..66cfd22ad29
--- /dev/null
+++ b/TAO/orbsvcs/LWFT_Service/host_monitor.cpp
@@ -0,0 +1,77 @@
+// -*- C++ -*-
+// $Id$
+
+#include <iostream>
+#include <fstream>
+#include <string>
+#include <iterator>
+#include <algorithm>
+
+#include "orbsvcs/orbsvcs/LWFT/HostMonitorImpl.h"
+#include "orbsvcs/orbsvcs/LWFT/Monitor_Thread.h"
+#include "orbsvcs/orbsvcs/LWFT/HMOptions.h"
+#include "orbsvcs/orbsvcs/LWFT/LWFT_Client_Init.h"
+
+int main (int argc, char* argv[])
+{
+ try
+ {
+ /// First initialize the ORB, that will remove some arguments...
+ LWFT_Client_Init ci;
+ CORBA::ORB_var orb = ci.init (argc, argv);
+
+ /// Initilize RootPOA.
+ CORBA::Object_var poa_object =
+ orb->resolve_initial_references ("RootPOA");
+
+ /// Create the POA object reference to type POA.
+ PortableServer::POA_var poa =
+ PortableServer::POA::_narrow (poa_object.in ());
+
+ /// Activate the POA manager.
+ PortableServer::POAManager_var poa_manager =
+ poa->the_POAManager ();
+ poa_manager->activate ();
+
+ HMOptions *opts = HMOptions::instance ();
+
+ if (! opts->parse_args (argc, argv))
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "Host Monitor options "
+ "are incorrect.\n"),
+ -1);
+ }
+
+ Monitor_Thread monitor_thread;
+
+ /// Initilize the timedate object on heap.
+ HostMonitorImpl * host_monitor =
+ new HostMonitorImpl (orb, &monitor_thread);
+ PortableServer::ServantBase_var safe_host (host_monitor);
+ ACE_UNUSED_ARG (safe_host);
+
+ HostMonitor_var hmvar = host_monitor->_this ();
+ CORBA::String_var hmstr = orb->object_to_string (hmvar.in ());
+
+ /// Copy the IOR in the IORFILE.
+ std::string ior_file (opts->HM_ior_file ());
+ std::ofstream outfile (ior_file.c_str ());
+ outfile << hmstr;
+ outfile.close ();
+
+ monitor_thread.activate ();
+ orb->run ();
+
+ /// Destroy the POA, waiting until the destruction terminates
+ poa->destroy (true, true);
+ orb->destroy ();
+ }
+ catch (CORBA::Exception &ex)
+ {
+ ACE_PRINT_EXCEPTION (ex, "A CORBA exception was raised:");
+ return -1;
+ }
+
+ return 0;
+}