diff options
Diffstat (limited to 'ace/Service_Config.inl')
-rw-r--r-- | ace/Service_Config.inl | 82 |
1 files changed, 67 insertions, 15 deletions
diff --git a/ace/Service_Config.inl b/ace/Service_Config.inl index 4dd09e802b0..9580ccc6c4f 100644 --- a/ace/Service_Config.inl +++ b/ace/Service_Config.inl @@ -17,14 +17,14 @@ ACE_Service_Config::open (const ACE_TCHAR program_name[], int ignore_debug_flag) { ACE_TRACE ("ACE_Service_Config::open"); - ACE_Service_Config::no_static_svcs_ = ignore_static_svcs; - - return ACE_Service_Config::open_i (program_name, + return ACE_Service_Config::current()->open (program_name, logger_key, + ignore_static_svcs, ignore_default_svc_conf, ignore_debug_flag); } + ACE_INLINE int ACE_Service_Config::open (int argc, ACE_TCHAR *argv[], @@ -34,18 +34,23 @@ ACE_Service_Config::open (int argc, int ignore_debug_flag) { ACE_TRACE ("ACE_Service_Config::open"); - ACE_Service_Config::no_static_svcs_ = ignore_static_svcs; - - if (ACE_Service_Config::parse_args (argc, - argv) == -1) - return -1; - else - return ACE_Service_Config::open_i (argv[0], + return ACE_Service_Config::current()->open (argc, + argv, logger_key, + ignore_static_svcs, ignore_default_svc_conf, ignore_debug_flag); } +// Handle the command-line options intended for the +// ACE_Service_Config. + +ACE_INLINE int +ACE_Service_Config::parse_args (int argc, ACE_TCHAR *argv[]) +{ + return ACE_Service_Config::current ()->parse_args (argc, argv); +} + // Compare two service descriptors for equality. ACE_INLINE bool @@ -68,36 +73,83 @@ ACE_Service_Config::signal_handler (ACE_Sig_Adapter *signal_handler) signal_handler_ = signal_handler; } +// Initialize and activate a statically linked service. + +ACE_INLINE int +ACE_Service_Config::initialize (const ACE_TCHAR *svc_name, + const ACE_TCHAR *parameters) +{ + ACE_TRACE ("ACE_Service_Config::initialize"); + return ACE_Service_Config::current ()->initialize (svc_name, + parameters); +} + +// Dynamically link the shared object file and retrieve a pointer to +// the designated shared object in this file. + +ACE_INLINE int +ACE_Service_Config::initialize (const ACE_Service_Type *sr, + const ACE_TCHAR *parameters) +{ + ACE_TRACE ("ACE_Service_Config::initialize"); + return ACE_Service_Config::current ()->initialize (sr, + parameters); +} + + +ACE_INLINE int +ACE_Service_Config::process_directive (const ACE_TCHAR directive[]) +{ + return ACE_Service_Config::current ()->process_directive (directive); +} + +// Process service configuration requests as indicated in the queue of +// svc.conf files. +ACE_INLINE int +ACE_Service_Config::process_directives (void) +{ + return ACE_Service_Config::current ()->process_directives (); +} + +ACE_INLINE int +ACE_Service_Config::process_directive (const ACE_Static_Svc_Descriptor &ssd, + int force_replace) +{ + return ACE_Service_Config::current ()->process_directive (ssd, + force_replace); +} + + #if defined (ACE_HAS_WINCE) && defined (ACE_USES_WCHAR) // We must provide these function to bridge Svc_Conf parser with ACE. ACE_INLINE int -ACE_Service_Config::initialize (const ACE_Service_Type *sp, char parameters[]) +ACE_Service_Config::initialize (const ACE_Service_Type *sp, ACE_ANTI_TCHAR parameters[]) { return ACE_Service_Config::initialize (sp, ACE_TEXT_TO_TCHAR_IN (parameters)); } ACE_INLINE int -ACE_Service_Config::initialize (const char svc_name[], char parameters[]) +ACE_Service_Config::initialize (const ACE_ANTI_TCHAR svc_name[], ACE_ANTI_TCHAR parameters[]) { return ACE_Service_Config::initialize (ACE_TEXT_TO_TCHAR_IN (svc_name), ACE_TEXT_TO_TCHAR_IN (parameters)); } ACE_INLINE int -ACE_Service_Config::resume (const char svc_name[]) +ACE_Service_Config::resume (const ACE_ANTI_TCHAR svc_name[]) { return ACE_Service_Config::resume (ACE_TEXT_TO_TCHAR_IN (svc_name)); } ACE_INLINE int -ACE_Service_Config::suspend (const char svc_name[]) +ACE_Service_Config::suspend (const ACE_ANTI_TCHAR svc_name[]) { return ACE_Service_Config::suspend (ACE_TEXT_TO_TCHAR_IN (svc_name)); } ACE_INLINE int -ACE_Service_Config::remove (const char svc_name[]) +ACE_Service_Config::remove (const ACE_ANTI_TCHAR svc_name[]) { return ACE_Service_Config::remove (ACE_TEXT_TO_TCHAR_IN (svc_name)); } |