ACE_Service_Repository
.
#include <ace/Service_Manager.h>
class ACE_Service_Manager : public ACE_Service_Object {
public:
ACE_Service_Manager (void);
~ACE_Service_Manager (void);
protected:
virtual int reconfigure_services (void);
virtual int list_services (void);
virtual int init (int argc, ASYS_TCHAR *argv[]);
virtual int info (ASYS_TCHAR **info_string, size_t length) const;
virtual int fini (void);
virtual int suspend (void);
virtual int resume (void);
void dump (void) const;
ACE_ALLOC_HOOK_DECLARE;
private:
int open (const ACE_INET_Addr &sia);
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 *);
ACE_SOCK_Stream client_stream_;
ACE_SOCK_Acceptor acceptor_;
int debug_;
int signum_;
static u_short DEFAULT_PORT_;
};
ACE_Reactor::instance
in order to trigger reconfigurations.
This scheme can certainly be improved.
ACE_Service_Manager (void);
~ACE_Service_Manager (void);
virtual int reconfigure_services (void);
virtual int list_services (void);
virtual int init (int argc, ASYS_TCHAR *argv[]);
virtual int info (ASYS_TCHAR **info_string, size_t length) const;
virtual int fini (void);
virtual int suspend (void);
virtual int resume (void);
void dump (void) const;
ACE_ALLOC_HOOK_DECLARE;
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 *);
ACE_SOCK_Stream client_stream_;
ACE_SOCK_Acceptor acceptor_;
int debug_;
int signum_;
static u_short DEFAULT_PORT_;