NAME

ACE_NT_Service - Provide the base class which defines the interface for controlling an NT service.

SYNOPSIS

#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_; };

DESCRIPTION

Initialization and termination methods.

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;

AUTHOR

Steve Huston

LIBRARY

ace