summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVitezslav Crhonek <vcrhonek@redhat.com>2014-04-17 10:47:10 +0200
committerVitezslav Crhonek <vcrhonek@redhat.com>2014-04-17 10:47:10 +0200
commit344131a6142cc3b52d8eec10f07ac21aefd4d5a0 (patch)
tree90da363ceef6c6a499cd75b8aff8545f42ab9de7
parent27f4dfc7029293ec8e16a92f627f48bbc129c846 (diff)
downloadopenlmi-providers-344131a6142cc3b52d8eec10f07ac21aefd4d5a0.tar.gz
openlmi-providers-344131a6142cc3b52d8eec10f07ac21aefd4d5a0.tar.xz
openlmi-providers-344131a6142cc3b52d8eec10f07ac21aefd4d5a0.zip
Service-legacy (non d-bus):
- Add support for building service-legacy provider into cmake files (OFF by default) - Add service-legacy mof file (no indications, builds with older cmake) - Fix service enumeration (use chkconfig)
-rw-r--r--CMakeLists.txt1
-rw-r--r--mof/60_LMI_Service-legacy.mof71
-rw-r--r--src/CMakeLists.txt4
-rw-r--r--src/service/CMakeLists.txt2
-rwxr-xr-xsrc/service/util/servicedisc.sh5
5 files changed, 78 insertions, 5 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index c5b0f4d..bcea097 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -35,6 +35,7 @@ endif(NOT SYSCONF_INSTALL_DIR)
option(WITH-FAN "Build fan provider" ON)
option(WITH-POWER "Build power provider" ON)
option(WITH-SERVICE "Build service provider" ON)
+option(WITH-SERVICE-LEGACY "Build service-legacy provider" OFF)
option(WITH-ACCOUNT "Build account provider" ON)
option(WITH-HARDWARE "Build hardware provider" ON)
option(WITH-LOGICALFILE "Build logical file provider" ON)
diff --git a/mof/60_LMI_Service-legacy.mof b/mof/60_LMI_Service-legacy.mof
new file mode 100644
index 0000000..d1717bb
--- /dev/null
+++ b/mof/60_LMI_Service-legacy.mof
@@ -0,0 +1,71 @@
+/*
+ * Copyright (C) 2012-2014 Red Hat, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ * Authors: Vitezslav Crhonek <vcrhonek@redhat.com>
+ */
+
+[ Version("0.2.0"),
+ Description("Class representing Linux Service"),
+ Provider("cmpi:cmpiLMI_Service") ]
+class LMI_Service: CIM_Service
+{
+ [ Override("StartService"),
+ Description("Start (activate) the service.") ]
+ uint32 StartService();
+
+ [ Override("StopService"),
+ Description("Stop (deactivate) the service.") ]
+ uint32 StopService();
+
+ [ Description("Reload configuration of the service.") ]
+ uint32 ReloadService();
+
+ [ Description("Restart the service. If the service is "
+ "not running yet, it will be started.") ]
+ uint32 RestartService();
+
+ [ Description("Restart the service if the service is running. "
+ "This does nothing if the service is not running.") ]
+ uint32 TryRestartService();
+
+ [ Description("Equivalent to the TryRestartService() method.") ]
+ uint32 CondRestartService();
+
+ [ Description("Reload the service if it supports it. If not, "
+ "restart the service instead. If the service is not "
+ "running yet, it will be started.") ]
+ uint32 ReloadOrRestartService();
+
+ [ Description("Reload the service if it supports it. If not, "
+ "restart the service instead. This does nothing if "
+ "the service is not running.") ]
+ uint32 ReloadOrTryRestartService();
+
+ [ Description("Enable the service persistently. The service will start "
+ "on the next boot of the system. Note that this method "
+ "does not have the effect of also starting the service "
+ "being enabled. If this is desired, a separate StartService "
+ "method call must be invoked for the service.") ]
+ uint32 TurnServiceOn();
+
+ [ Description("Disable the service. The service will not start on the "
+ "next boot of the system. Note that this method does not "
+ "implicitly stop the service that is being disabled. If "
+ "this is desired, an additional StopService method call "
+ "command should be executed afterwards.") ]
+ uint32 TurnServiceOff();
+};
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index ed81b0e..abca02d 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -32,6 +32,10 @@ if (WITH-SERVICE)
add_subdirectory(service-dbus)
endif (WITH-SERVICE)
+if (WITH-SERVICE-LEGACY)
+ add_subdirectory(service)
+endif (WITH-SERVICE-LEGACY)
+
if (WITH-ACCOUNT)
add_subdirectory(account)
endif (WITH-ACCOUNT)
diff --git a/src/service/CMakeLists.txt b/src/service/CMakeLists.txt
index 11ac5c8..6d75d38 100644
--- a/src/service/CMakeLists.txt
+++ b/src/service/CMakeLists.txt
@@ -1,7 +1,7 @@
set(PROVIDER_NAME Service)
set(LIBRARY_NAME cmpiLMI_${PROVIDER_NAME})
-set(MOF 60_LMI_Service.mof)
+set(MOF 60_LMI_Service-legacy.mof)
set(CIMPROVAGT_SCRIPT cmpiLMI_${PROVIDER_NAME}-cimprovagt)
set(provider_SRCS
diff --git a/src/service/util/servicedisc.sh b/src/service/util/servicedisc.sh
index f059200..f0964fa 100755
--- a/src/service/util/servicedisc.sh
+++ b/src/service/util/servicedisc.sh
@@ -37,10 +37,7 @@ then
exit 0
elif [ -d $SYSV_SDIR ];
then
- for i in $SYSV_SDIR/*;
- do
- echo ${i#$SYSV_SDIR/}
- done
+ chkconfig --list | awk '{print $1}'
exit 0
fi