diff options
author | aky <aky@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2011-06-16 20:28:00 +0000 |
---|---|---|
committer | aky <aky@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2011-06-16 20:28:00 +0000 |
commit | ea2354fe1a7b7c40defc6c4094e1477051e91ca8 (patch) | |
tree | a8b4d98e24f547b93e62cb47f567b53daa7e31cd /TAO/orbsvcs/orbsvcs/LWFT/AppOptions.h | |
parent | eb6d9d34c28a9b1ce979b4c4c962f06fce515aea (diff) | |
download | ATCD-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/orbsvcs/LWFT/AppOptions.h')
-rw-r--r-- | TAO/orbsvcs/orbsvcs/LWFT/AppOptions.h | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/TAO/orbsvcs/orbsvcs/LWFT/AppOptions.h b/TAO/orbsvcs/orbsvcs/LWFT/AppOptions.h new file mode 100644 index 00000000000..1d1326d5ca0 --- /dev/null +++ b/TAO/orbsvcs/orbsvcs/LWFT/AppOptions.h @@ -0,0 +1,89 @@ +// -*- C++ -*- +// $Id$ + +/** + * @file AppOptions.h + * + * @brief Declared the AppOptions class interface. + * + */ + +#ifndef _APPOPTIONS_H +#define _APPOPTIONS_H + +#include <string> + +#include "ace/Thread_Mutex.h" +#include "ace/Auto_Ptr.h" + +#include "AppSideMonitor_Thread.h" +#include "lwft_server_export.h" + +/** + * @class AppOptions + * + * @brief Declares AppOptions singleton to hold the command line options. + */ + +class LWFT_Server_Export AppOptions +/// TITLE +/// Singleton class for the program options. +{ +public: + /// Singleton access method. + static AppOptions *instance (void); + + ~AppOptions (void); + + bool parse_args (int &argc, char **argv); + + /// Member accessors. + std::string host_id (void) const; + std::string host_monitor_ior (void) const; + u_short port (void) const; + std::string object_info_file (void) const; + std::string process_id (void) const; + void monitor (AppSideMonitor_Thread *mon); + std::string app_id (void) const; + size_t role (void) const; + double load (void) const; + bool use_dds (void) const; + + /** + * @return the debug level of the application: + * 0 - all errors and other urgent levels + * 1 - warnings are shown as well + * 2 - LM_DEBUG messages added + * 3 - LM_TRACE messages added + * 4 - LM_NOTICE messages added + * 5 - LM_INFO messages added + */ + long debug_level (void) const; + + void process_id (const std::string & id); + +protected: + /// Constructor is protected to ensure Singleton access. + AppOptions (void); + + void set_debug_level (void); + + std::string host_monitor_ior_; + std::string host_id_; + u_short port_; + std::string object_info_file_; + std::string process_id_; + std::string app_id_; + size_t role_; + double load_; + bool use_dds_; + long debug_level_; + std::auto_ptr <AppSideMonitor_Thread> monitor_; + + /// Singleton-related stuff. + static AppOptions * volatile instance_; + static ACE_Auto_Ptr<AppOptions> deleter_; + static ACE_Thread_Mutex lock_; +}; + +#endif /* _APPOPTIONS_H */ |