[libvirt] [PATCHv2 1/2] Split out most of virDBusIsServiceEnabled

Ján Tomko jtomko at redhat.com
Mon Mar 3 15:47:45 UTC 2014


Introduce virDBusIsServiceInList which can be used to call other
methods for listing services (ListNames), not just ListActivatableNames.

No functional change.
---
 src/util/virdbus.c | 26 ++++++++++++++++----------
 1 file changed, 16 insertions(+), 10 deletions(-)

diff --git a/src/util/virdbus.c b/src/util/virdbus.c
index a6232b7..3c9416e 100644
--- a/src/util/virdbus.c
+++ b/src/util/virdbus.c
@@ -1256,13 +1256,7 @@ int virDBusMessageRead(DBusMessage *msg,
     return ret;
 }
 
-/**
- * virDBusIsServiceEnabled:
- * @name: service name
- *
- * Retruns 0 if service is available, -1 on fatal error, or -2 if service is not available
- */
-int virDBusIsServiceEnabled(const char *name)
+static int virDBusIsServiceInList(const char *listMethod, const char *name)
 {
     DBusConnection *conn;
     DBusMessage *reply = NULL;
@@ -1280,7 +1274,7 @@ int virDBusIsServiceEnabled(const char *name)
                           "org.freedesktop.DBus",
                           "/org/freedesktop/DBus",
                           "org.freedesktop.DBus",
-                          "ListActivatableNames",
+                          listMethod,
                           NULL) < 0)
         return ret;
 
@@ -1305,13 +1299,25 @@ int virDBusIsServiceEnabled(const char *name)
         }
     }
 
-    VIR_DEBUG("Service %s is %s", name, ret ? "unavailable" : "available");
-
  cleanup:
     dbus_message_unref(reply);
     return ret;
 }
 
+/**
+ * virDBusIsServiceEnabled:
+ * @name: service name
+ *
+ * Retruns 0 if service is available, -1 on fatal error, or -2 if service is not available
+ */
+int virDBusIsServiceEnabled(const char *name)
+{
+    int ret = virDBusIsServiceInList("ListActivatableNames", name);
+
+    VIR_DEBUG("Service %s is %s", name, ret ? "unavailable" : "available");
+
+    return ret;
+}
 
 #else /* ! WITH_DBUS */
 void virDBusSetSharedBus(bool shared ATTRIBUTE_UNUSED)
-- 
1.8.3.2




More information about the libvir-list mailing list