diff options
Diffstat (limited to 'ace/Service_Manager.h')
-rw-r--r-- | ace/Service_Manager.h | 120 |
1 files changed, 0 insertions, 120 deletions
diff --git a/ace/Service_Manager.h b/ace/Service_Manager.h deleted file mode 100644 index 561d3496929..00000000000 --- a/ace/Service_Manager.h +++ /dev/null @@ -1,120 +0,0 @@ -/* -*- C++ -*- */ - -//============================================================================= -/** - * @file Service_Manager.h - * - * $Id$ - * - * @author Douglas C. Schmidt <schmidt@cs.wustl.edu> - */ -//============================================================================= - -#ifndef ACE_SERVICE_MANAGER_H -#define ACE_SERVICE_MANAGER_H -#include "ace/pre.h" - -#include "ace/SOCK_Stream.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ace/SOCK_Acceptor.h" -#include "ace/INET_Addr.h" -#include "ace/Service_Object.h" - -/** - * @class ACE_Service_Manager - * - * @brief Provide a standard ACE service for managing all the services - * configured in an <ACE_Service_Repository>. - * - * This implementation is simple and just handles each client - * request one at a time. There are currently 3 types of requests: - * + List services: If the string "help" is sent, return a list of all - * the services supported by the Service Configurator. - * + Reconfigure: If the string "reconfigure" is sent trigger a - * reconfiguration, which will re-read the local <svc.conf> file. - * + Process directive: If neither "help" nor "reconfigure" is sent, - * simply treat the incoming string as a process directive and pass - * it along to <ACE_Service_Config::process_directive>. This allows - * remote configuration via command-line instructions like - * % echo suspend My_Remote_Service | telnet hostname 3911 - * - * Each request is associated with a new connection, which is closed - * when the request is processed. In addition, you must be using the - * singleton <ACE_Reactor::instance> in order to trigger - * reconfigurations. - */ -class ACE_Export ACE_Service_Manager : public ACE_Service_Object -{ -public: - // = Initialization and termination hooks. - /// Constructor. - ACE_Service_Manager (void); - - /// Destructor. - ~ACE_Service_Manager (void); - -protected: - // = Perform the various meta-services. - - /// Trigger a reconfiguration of the Service Configurator by - //re-reading its local <svc.conf> file. - virtual int reconfigure_services (void); - - /// Determine all the services offered by this daemon and return the - /// information back to the client. - virtual int list_services (void); - - // = Dynamic linking hooks. - virtual int init (int argc, ACE_TCHAR *argv[]); - virtual int info (ACE_TCHAR **info_string, size_t length) const; - virtual int fini (void); - - // = Scheduling hooks. - virtual int suspend (void); - virtual int resume (void); - - /// Dump the state of an object. - void dump (void) const; - - /// Declare the dynamic allocation hooks. - ACE_ALLOC_HOOK_DECLARE; - -protected: - int open (const ACE_INET_Addr &sia); - - // = Demultiplexing hooks. - virtual ACE_HANDLE get_handle (void) const; - virtual int handle_input (ACE_HANDLE fd); - virtual int handle_close (ACE_HANDLE fd, ACE_Reactor_Mask); - virtual int handle_signal (int signum, siginfo_t *, ucontext_t *); - - /// Handle one request. - virtual void process_request (ACE_TCHAR *request); - - /// Connection to the client (we only support one client connection - /// at a time). - ACE_SOCK_Stream client_stream_; - - /// Acceptor instance. - ACE_SOCK_Acceptor acceptor_; - - /// Keep track of the debugging level. - int debug_; - - /// The signal used to trigger reconfiguration. - int signum_; - - /// Default port for the Acceptor to listen on. - static u_short DEFAULT_PORT_; -}; - -#if defined (__ACE_INLINE__) -#include "ace/Service_Manager.i" -#endif /* __ACE_INLINE__ */ - -#include "ace/post.h" -#endif /* _SERVICE_MANAGER_H */ |