#include <ace/NT_Service.h>
class ACE_NT_Service : public ACE_Task<ACE_MT_SYNCH> {
public:ACE_NT_Service ( DWORD start_timeout = ACE_NT_SERVICE_START_TIMEOUT, DWORD service_type = SERVICE_WIN32_OWN_PROCESS, DWORD controls_mask = SERVICE_ACCEPT_STOP );virtual ~ACE_NT_Service (void);virtual int open (void *args = 0);virtual int svc (void) = 0;virtual void handle_control (DWORD control_code);void svc_handle (const SERVICE_STATUS_HANDLE new_svc_handle);ACE_ALLOC_HOOK_DECLARE;protected:int report_status (DWORD new_status, DWORD time_hint = 0);DWORD start_time_;SERVICE_STATUS_HANDLE svc_handle_;SERVICE_STATUS svc_status_;};
ACE_NT_Service (
DWORD start_timeout = ACE_NT_SERVICE_START_TIMEOUT,
DWORD service_type = SERVICE_WIN32_OWN_PROCESS,
DWORD controls_mask = SERVICE_ACCEPT_STOP
);
virtual ~ACE_NT_Service (void);
virtual int open (void *args = 0);
virtual int svc (void) = 0;
virtual void handle_control (DWORD control_code);
void svc_handle (const SERVICE_STATUS_HANDLE new_svc_handle);
ACE_ALLOC_HOOK_DECLARE;