diff options
author | unknown <reggie@fedora.(none)> | 2005-08-03 16:20:27 -0500 |
---|---|---|
committer | unknown <reggie@fedora.(none)> | 2005-08-03 16:20:27 -0500 |
commit | 55b4cb009e029a9ee626d229c5d8520b02773843 (patch) | |
tree | a10e64e5b763e2ddba496e00d9d2aed9cb64d580 /server-tools/instance-manager/WindowsService.cpp | |
parent | 875b0e6322df380b6fcd4bd4f66d0d3e0142039f (diff) | |
download | mariadb-git-55b4cb009e029a9ee626d229c5d8520b02773843.tar.gz |
alot of formatting changes that came out of JimW's review
server-tools/instance-manager/IMService.cpp:
fixed tabs and spacing per JimW's review
server-tools/instance-manager/WindowsService.cpp:
fixed tabs and spacing per JimW's review
server-tools/instance-manager/WindowsService.h:
fixed tabs and spacing per JimW's review
server-tools/instance-manager/commands.cc:
fixed tabs and spacing per JimW's review
server-tools/instance-manager/instance.cc:
fixed tabs and spacing per JimW's review
server-tools/instance-manager/instance_map.cc:
fixed tabs and spacing per JimW's review
server-tools/instance-manager/listener.cc:
fixed tabs and spacing per JimW's review
server-tools/instance-manager/manager.cc:
fixed tabs and spacing per JimW's review
server-tools/instance-manager/options.cc:
fixed tabs and spacing per JimW's review
server-tools/instance-manager/user_map.cc:
fixed tabs and spacing per JimW's review
Diffstat (limited to 'server-tools/instance-manager/WindowsService.cpp')
-rwxr-xr-x | server-tools/instance-manager/WindowsService.cpp | 199 |
1 files changed, 102 insertions, 97 deletions
diff --git a/server-tools/instance-manager/WindowsService.cpp b/server-tools/instance-manager/WindowsService.cpp index 851ac9beac8..e4b9a3a8491 100755 --- a/server-tools/instance-manager/WindowsService.cpp +++ b/server-tools/instance-manager/WindowsService.cpp @@ -4,13 +4,15 @@ static WindowsService *gService; -WindowsService::WindowsService(void) -: statusCheckpoint(0), serviceName(NULL), inited(false), +WindowsService::WindowsService(void) : + statusCheckpoint(0), + serviceName(NULL), + inited(false), dwAcceptedControls(SERVICE_ACCEPT_STOP) { - gService = this; - status.dwServiceType = SERVICE_WIN32_OWN_PROCESS; - status.dwServiceSpecificExitCode = 0; + gService= this; + status.dwServiceType= SERVICE_WIN32_OWN_PROCESS; + status.dwServiceSpecificExitCode= 0; } WindowsService::~WindowsService(void) @@ -19,83 +21,84 @@ WindowsService::~WindowsService(void) BOOL WindowsService::Install() { - bool ret_val=false; - SC_HANDLE newService; - SC_HANDLE scm; + bool ret_val= false; + SC_HANDLE newService; + SC_HANDLE scm; - if (IsInstalled()) return true; + if (IsInstalled()) return true; - // determine the name of the currently executing file - char szFilePath[_MAX_PATH]; - GetModuleFileName(NULL, szFilePath, sizeof(szFilePath)); + // determine the name of the currently executing file + char szFilePath[_MAX_PATH]; + GetModuleFileName(NULL, szFilePath, sizeof(szFilePath)); - // open a connection to the SCM - if (!(scm = OpenSCManager(0, 0,SC_MANAGER_CREATE_SERVICE))) - return false; + // open a connection to the SCM + if (!(scm= OpenSCManager(0, 0,SC_MANAGER_CREATE_SERVICE))) + return false; - newService = CreateService(scm, serviceName, displayName, - SERVICE_ALL_ACCESS, SERVICE_WIN32_OWN_PROCESS, SERVICE_AUTO_START, - SERVICE_ERROR_NORMAL, szFilePath, - NULL, NULL, NULL, username, password); + newService= CreateService(scm, serviceName, displayName, + SERVICE_ALL_ACCESS, SERVICE_WIN32_OWN_PROCESS, + SERVICE_AUTO_START, SERVICE_ERROR_NORMAL, + szFilePath, NULL, NULL, NULL, username, + password); - if (newService) - { - CloseServiceHandle(newService); - ret_val = true; - } + if (newService) + { + CloseServiceHandle(newService); + ret_val= true; + } - CloseServiceHandle(scm); - return ret_val; + CloseServiceHandle(scm); + return ret_val; } BOOL WindowsService::Init() { assert(serviceName != NULL); - if (inited) return true; + if (inited) return true; - SERVICE_TABLE_ENTRY stb[] = - { - { (LPSTR)serviceName, (LPSERVICE_MAIN_FUNCTION) ServiceMain}, - { NULL, NULL } - }; - inited = true; - return StartServiceCtrlDispatcher(stb); //register with the Service Manager + SERVICE_TABLE_ENTRY stb[] = + { + { (LPSTR)serviceName, (LPSERVICE_MAIN_FUNCTION) ServiceMain}, + { NULL, NULL } + }; + inited= true; + return StartServiceCtrlDispatcher(stb); //register with the Service Manager } BOOL WindowsService::Remove() { - bool ret_val = false; - - if (! IsInstalled()) - return true; - - // open a connection to the SCM - SC_HANDLE scm = OpenSCManager(0, 0,SC_MANAGER_CREATE_SERVICE); - if (! scm) - return false; - - SC_HANDLE service = OpenService(scm, serviceName, DELETE); - if (service) - { - if (DeleteService(service)) - ret_val = true; - DWORD dw = ::GetLastError(); - CloseServiceHandle(service); - } - - CloseServiceHandle(scm); - return ret_val; + bool ret_val= false; + + if (! IsInstalled()) + return true; + + // open a connection to the SCM + SC_HANDLE scm= OpenSCManager(0, 0,SC_MANAGER_CREATE_SERVICE); + if (! scm) + return false; + + SC_HANDLE service= OpenService(scm, serviceName, DELETE); + if (service) + { + if (DeleteService(service)) + ret_val= true; + DWORD dw= ::GetLastError(); + CloseServiceHandle(service); + } + + CloseServiceHandle(scm); + return ret_val; } BOOL WindowsService::IsInstalled() { - BOOL ret_val = FALSE; + BOOL ret_val= FALSE; - SC_HANDLE scm = ::OpenSCManager(NULL, NULL, SC_MANAGER_CONNECT); - SC_HANDLE serv_handle = ::OpenService(scm, serviceName, SERVICE_QUERY_STATUS); + SC_HANDLE scm= ::OpenSCManager(NULL, NULL, SC_MANAGER_CONNECT); + SC_HANDLE serv_handle= ::OpenService(scm, serviceName, SERVICE_QUERY_STATUS); - ret_val = serv_handle != NULL; + ret_val= serv_handle != NULL; ::CloseServiceHandle(serv_handle); ::CloseServiceHandle(scm); @@ -105,34 +108,36 @@ BOOL WindowsService::IsInstalled() void WindowsService::SetAcceptedControls(DWORD acceptedControls) { - dwAcceptedControls = acceptedControls; + dwAcceptedControls= acceptedControls; } -BOOL WindowsService::ReportStatus(DWORD currentState, DWORD waitHint, DWORD dwError) +BOOL WindowsService::ReportStatus(DWORD currentState, DWORD waitHint, + DWORD dwError) { - if(debugging) return TRUE; + if(debugging) return TRUE; if(currentState == SERVICE_START_PENDING) - status.dwControlsAccepted = 0; + status.dwControlsAccepted= 0; else - status.dwControlsAccepted = dwAcceptedControls; + status.dwControlsAccepted= dwAcceptedControls; - status.dwCurrentState = currentState; - status.dwWin32ExitCode = dwError != 0 ? ERROR_SERVICE_SPECIFIC_ERROR : NO_ERROR; - status.dwWaitHint = waitHint; - status.dwServiceSpecificExitCode = dwError; + status.dwCurrentState= currentState; + status.dwWin32ExitCode= dwError != 0 ? + ERROR_SERVICE_SPECIFIC_ERROR : NO_ERROR; + status.dwWaitHint= waitHint; + status.dwServiceSpecificExitCode= dwError; - if(currentState == SERVICE_RUNNING || currentState == SERVICE_STOPPED) - { - status.dwCheckPoint = 0; - statusCheckpoint = 0; - } - else - status.dwCheckPoint = ++statusCheckpoint; + if(currentState == SERVICE_RUNNING || currentState == SERVICE_STOPPED) + { + status.dwCheckPoint= 0; + statusCheckpoint= 0; + } + else + status.dwCheckPoint= ++statusCheckpoint; // Report the status of the service to the service control manager. - BOOL result = SetServiceStatus(statusHandle, &status); + BOOL result= SetServiceStatus(statusHandle, &status); if (!result) Log("ReportStatus failed"); @@ -141,7 +146,7 @@ BOOL WindowsService::ReportStatus(DWORD currentState, DWORD waitHint, DWORD dwEr void WindowsService::RegisterAndRun(DWORD argc, LPTSTR *argv) { - statusHandle = ::RegisterServiceCtrlHandler(serviceName, ControlHandler); + statusHandle= ::RegisterServiceCtrlHandler(serviceName, ControlHandler); if (statusHandle && ReportStatus(SERVICE_START_PENDING)) Run(); ReportStatus(SERVICE_STOPPED); @@ -152,41 +157,41 @@ void WindowsService::HandleControlCode(DWORD opcode) // Handle the requested control code. switch(opcode) { - case SERVICE_CONTROL_STOP: - // Stop the service. - status.dwCurrentState = SERVICE_STOP_PENDING; + case SERVICE_CONTROL_STOP: + // Stop the service. + status.dwCurrentState= SERVICE_STOP_PENDING; Stop(); - break; + break; - case SERVICE_CONTROL_PAUSE: - status.dwCurrentState = SERVICE_PAUSE_PENDING; + case SERVICE_CONTROL_PAUSE: + status.dwCurrentState= SERVICE_PAUSE_PENDING; Pause(); - break; + break; - case SERVICE_CONTROL_CONTINUE: - status.dwCurrentState = SERVICE_CONTINUE_PENDING; + case SERVICE_CONTROL_CONTINUE: + status.dwCurrentState= SERVICE_CONTINUE_PENDING; Continue(); - break; + break; - case SERVICE_CONTROL_SHUTDOWN: + case SERVICE_CONTROL_SHUTDOWN: Shutdown(); - break; + break; - case SERVICE_CONTROL_INTERROGATE: + case SERVICE_CONTROL_INTERROGATE: ReportStatus(status.dwCurrentState); - break; + break; - default: - // invalid control code - break; - } + default: + // invalid control code + break; + } } void WINAPI WindowsService::ServiceMain(DWORD argc, LPTSTR *argv) { - assert(gService != NULL); + assert(gService != NULL); - // register our service control handler: + // register our service control handler: gService->RegisterAndRun(argc, argv); } |