summaryrefslogtreecommitdiff
path: root/ace/adapter/ace/Service_Config.h
diff options
context:
space:
mode:
Diffstat (limited to 'ace/adapter/ace/Service_Config.h')
-rw-r--r--ace/adapter/ace/Service_Config.h87
1 files changed, 87 insertions, 0 deletions
diff --git a/ace/adapter/ace/Service_Config.h b/ace/adapter/ace/Service_Config.h
new file mode 100644
index 00000000000..f274d4f8f8c
--- /dev/null
+++ b/ace/adapter/ace/Service_Config.h
@@ -0,0 +1,87 @@
+// $Id$
+
+#ifndef ACE_ADAPTER_SERVICE_CONFIG_H
+#define ACE_ADAPTER_SERVICE_CONFIG_H
+#include "ace/pre.h"
+
+#include "../../Service_Config.h"
+
+#if !defined (ACE_DEFAULT_LOGGER_KEY_W)
+# if defined (ACE_HAS_STREAM_PIPES)
+# define ACE_DEFAULT_LOGGER_KEY_W L"/tmp/server_daemon"
+# else
+# define ACE_DEFAULT_LOGGER_KEY_W L"localhost:10012"
+# endif /* ACE_HAS_STREAM_PIPES */
+#endif /* ACE_DEFAULT_LOGGER_KEY */
+
+class ACE_Service_Config_W : public ACE_Service_Config
+{
+public:
+
+ ACE_Service_Config_W (int ignore_static_svcs = 1,
+ size_t size = ACE_Service_Config_W::MAX_SERVICES,
+ int signum = SIGHUP)
+ : ACE_Service_Config (ignore_static_svcs, size, signum)
+ {}
+
+ ACE_Service_Config_W (const wchar_t program_name[],
+ const wchar_t *logger_key = ACE_DEFAULT_LOGGER_KEY_W)
+ : ACE_Service_Config (ACE_TEXT_WCHAR_TO_CHAR (program_name), ACE_TEXT_WCHAR_TO_CHAR (logger_key))
+ {}
+
+ static int open_i (const wchar_t program_name[],
+ const wchar_t *logger_key = ACE_DEFAULT_LOGGER_KEY_W,
+ int ignore_default_svc_conf_file = 0,
+ int ignore_debug_flag = 0)
+ {
+ return ACE_Service_Config::open_i (ACE_TEXT_WCHAR_TO_CHAR (program_name),
+ ACE_TEXT_WCHAR_TO_CHAR (logger_key),
+ ignore_default_svc_conf_file,
+ ignore_debug_flag);
+ }
+
+ static int open (const wchar_t program_name[],
+ const wchar_t *logger_key = ACE_DEFAULT_LOGGER_KEY_W,
+ int ignore_static_svcs = 1,
+ int ignore_default_svc_conf_file = 0,
+ int ignore_debug_flag = 0)
+ {
+ return ACE_Service_Config::open (ACE_TEXT_WCHAR_TO_CHAR (program_name),
+ ACE_TEXT_WCHAR_TO_CHAR (logger_key),
+ ignore_static_svcs,
+ ignore_default_svc_conf_file,
+ ignore_debug_flag);
+ }
+
+ // @@ Implement: static int open (int argc,
+ // wchar_t *argv[],
+ // const wchar_t *logger_key = ACE_DEFAULT_LOGGER_KEY_W,
+ // int ignore_static_svcs = 1,
+ // int ignore_default_svc_conf = 0,
+ // int ignore_debug_flag = 0);
+
+ virtual ~ACE_Service_Config_W (void)
+ {}
+
+ // @@ Implement: static int initialize (const ACE_Service_Type *, wchar_t parameters[]);
+
+ // @@ Implement: static int initialize (const wchar_t svc_name[], wchar_t parameters[])
+
+ static int resume (const wchar_t svc_name[])
+ { return ACE_Service_Config::resume (ACE_TEXT_WCHAR_TO_CHAR (svc_name)); }
+
+ static int suspend (const wchar_t svc_name[])
+ { return ACE_Service_Config::suspend (ACE_TEXT_WCHAR_TO_CHAR (svc_name)); }
+
+ static int remove (const wchar_t svc_name[])
+ { return ACE_Service_Config::remove (ACE_TEXT_WCHAR_TO_CHAR (svc_name)); }
+
+ static int process_directive (const wchar_t directive[])
+ { return ACE_Service_Config::process_directive(ACE_TEXT_WCHAR_TO_CHAR (directive)); }
+
+protected:
+ // @@ Implement: static int parse_args (int, wchar_t *argv[])
+};
+
+#include "ace/post.h"
+#endif /* ACE_ADAPTER_SERVICE_CONFIG_H */