#ifndef _SERVICE_SERVICESTATUS_HPP_ #define _SERVICE_SERVICESTATUS_HPP_ #ifndef _COMMON_WINSVC_HPP_ #include #endif class ServiceStatus : private SERVICE_STATUS { public: ServiceStatus(void); ServiceStatus(DWORD svcType,DWORD svcState,DWORD ctlsAccept,DWORD w32Exit,DWORD svcExit,DWORD ckPoint,DWORD waitHint); virtual ~ServiceStatus(); DWORD serviceType(void)const; void serviceType(DWORD serviceType); DWORD currentState(void)const; void currentState(DWORD currentState); DWORD controlsAccepted(void)const; void controlsAccepted(DWORD controlsAccepted); DWORD win32ExitCode(void)const; void win32ExitCode(DWORD win32ExitCode); DWORD serviceExitCode(void)const; void serviceExitCode(DWORD serviceExitCode); DWORD checkPoint(void)const; void checkPoint(DWORD checkPoint); DWORD waitHint(void)const; void waitHint(DWORD waitHint); SERVICE_STATUS &getSERVICESTATUS(void); private: void zeroInit(void); }; inline ServiceStatus::ServiceStatus(void) { zeroInit(); } inline ServiceStatus::ServiceStatus(DWORD svcType,DWORD svcState,DWORD ctlsAccept,DWORD w32Exit,DWORD svcExit,DWORD ckPoint,DWORD waitHint) { SERVICE_STATUS::dwServiceType=svcType; SERVICE_STATUS::dwCurrentState=svcState; SERVICE_STATUS::dwControlsAccepted=ctlsAccept; SERVICE_STATUS::dwWin32ExitCode=w32Exit; SERVICE_STATUS::dwServiceSpecificExitCode=svcExit; SERVICE_STATUS::dwCheckPoint=ckPoint; SERVICE_STATUS::dwWaitHint=waitHint; } inline ServiceStatus::~ServiceStatus() { } inline DWORD ServiceStatus::serviceType(void)const { return SERVICE_STATUS::dwServiceType; } inline void ServiceStatus::serviceType(DWORD serviceType) { SERVICE_STATUS::dwServiceType=serviceType; } inline DWORD ServiceStatus::currentState(void)const { return SERVICE_STATUS::dwCurrentState; } inline void ServiceStatus::currentState(DWORD currentState) { SERVICE_STATUS::dwCurrentState=currentState; } inline DWORD ServiceStatus::controlsAccepted(void)const { return SERVICE_STATUS::dwControlsAccepted; } inline void ServiceStatus::controlsAccepted(DWORD controlsAccepted) { SERVICE_STATUS::dwControlsAccepted=controlsAccepted; } inline DWORD ServiceStatus::win32ExitCode(void)const { return SERVICE_STATUS::dwWin32ExitCode; } inline void ServiceStatus::win32ExitCode(DWORD win32ExitCode) { SERVICE_STATUS::dwWin32ExitCode=win32ExitCode; } inline DWORD ServiceStatus::serviceExitCode(void)const { return SERVICE_STATUS::dwServiceSpecificExitCode; } inline void ServiceStatus::serviceExitCode(DWORD serviceExitCode) { SERVICE_STATUS::dwServiceSpecificExitCode=serviceExitCode; } inline DWORD ServiceStatus::checkPoint(void)const { return SERVICE_STATUS::dwCheckPoint; } inline void ServiceStatus::checkPoint(DWORD checkPoint) { SERVICE_STATUS::dwCheckPoint=checkPoint; } inline DWORD ServiceStatus::waitHint(void)const { return SERVICE_STATUS::dwWaitHint; } inline void ServiceStatus::waitHint(DWORD waitHint) { SERVICE_STATUS::dwWaitHint=waitHint; } inline SERVICE_STATUS &ServiceStatus::getSERVICESTATUS(void) { return *this; } inline void ServiceStatus::zeroInit(void) { SERVICE_STATUS::dwServiceType=0; SERVICE_STATUS::dwCurrentState=0; SERVICE_STATUS::dwControlsAccepted=0; SERVICE_STATUS::dwWin32ExitCode=0; SERVICE_STATUS::dwServiceSpecificExitCode=0; SERVICE_STATUS::dwCheckPoint=0; SERVICE_STATUS::dwWaitHint=0; } #endif