Added service_status_text().
[nssm.git] / service.cpp
index 8074227..e952dbd 100644 (file)
@@ -1059,7 +1059,7 @@ int control_service(unsigned long control, int argc, TCHAR **argv) {
   int ret;\r
   unsigned long error;\r
   SERVICE_STATUS service_status;\r
-  if (control == 0) {\r
+  if (control == NSSM_SERVICE_CONTROL_START) {\r
     ret = StartService(service_handle, (unsigned long) argc, (const TCHAR **) argv);\r
     error = GetLastError();\r
     CloseHandle(service_handle);\r
@@ -1281,7 +1281,7 @@ int monitor_service(nssm_service_t *service) {
 TCHAR *service_control_text(unsigned long control) {\r
   switch (control) {\r
     /* HACK: there is no SERVICE_CONTROL_START constant */\r
-    case 0: return _T("START");\r
+    case NSSM_SERVICE_CONTROL_START: return _T("START");\r
     case SERVICE_CONTROL_STOP: return _T("STOP");\r
     case SERVICE_CONTROL_SHUTDOWN: return _T("SHUTDOWN");\r
     case SERVICE_CONTROL_PAUSE: return _T("PAUSE");\r
@@ -1292,6 +1292,19 @@ TCHAR *service_control_text(unsigned long control) {
   }\r
 }\r
 \r
+TCHAR *service_status_text(unsigned long status) {\r
+  switch (status) {\r
+    case SERVICE_STOPPED: return _T("SERVICE_STOPPED");\r
+    case SERVICE_START_PENDING: return _T("SERVICE_START_PENDING");\r
+    case SERVICE_STOP_PENDING: return _T("SERVICE_STOP_PENDING");\r
+    case SERVICE_RUNNING: return _T("SERVICE_RUNNING");\r
+    case SERVICE_CONTINUE_PENDING: return _T("SERVICE_CONTINUE_PENDING");\r
+    case SERVICE_PAUSE_PENDING: return _T("SERVICE_PAUSE_PENDING");\r
+    case SERVICE_PAUSED: return _T("SERVICE_PAUSED");\r
+    default: return 0;\r
+  }\r
+}\r
+\r
 void log_service_control(TCHAR *service_name, unsigned long control, bool handled) {\r
   TCHAR *text = service_control_text(control);\r
   unsigned long event;\r