chiark / gitweb /
libsystemd-bus: factor out DBus bits out of sd_bus_get_owner()
authorDaniel Mack <zonque@gmail.com>
Fri, 29 Nov 2013 15:52:06 +0000 (16:52 +0100)
committerDaniel Mack <zonque@gmail.com>
Fri, 29 Nov 2013 21:01:34 +0000 (22:01 +0100)
Just a preparation for upcoming kdbus support.

src/libsystemd-bus/bus-control.c

index 5f218c17ea0f5ad38eba33e74e325231e30be2f5..848a485c3f1d7a7e59deb7feb6cdd6d09f9ce85b 100644 (file)
@@ -260,7 +260,7 @@ _public_ int sd_bus_list_names(sd_bus *bus, char ***l) {
         return 0;
 }
 
-_public_ int sd_bus_get_owner(
+static int sd_bus_get_owner_dbus(
                 sd_bus *bus,
                 const char *name,
                 uint64_t mask,
@@ -273,13 +273,6 @@ _public_ int sd_bus_get_owner(
         pid_t pid = 0;
         int r;
 
-        assert_return(bus, -EINVAL);
-        assert_return(name, -EINVAL);
-        assert_return(mask <= _SD_BUS_CREDS_MAX, -ENOTSUP);
-        assert_return(mask == 0 || creds, -EINVAL);
-        assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN);
-        assert_return(!bus_pid_changed(bus), -ECHILD);
-
         /* Only query the owner if the caller wants to know it or if
          * the caller just wants to check whether a name exists */
         if (owner || mask == 0) {
@@ -594,6 +587,23 @@ static int add_name_change_match(sd_bus *bus,
         return 0;
 }
 
+_public_ int sd_bus_get_owner(
+                sd_bus *bus,
+                const char *name,
+                uint64_t mask,
+                char **owner,
+                sd_bus_creds **creds) {
+
+        assert_return(bus, -EINVAL);
+        assert_return(name, -EINVAL);
+        assert_return(mask <= _SD_BUS_CREDS_MAX, -ENOTSUP);
+        assert_return(mask == 0 || creds, -EINVAL);
+        assert_return(BUS_IS_OPEN(bus->state), -ENOTCONN);
+        assert_return(!bus_pid_changed(bus), -ECHILD);
+
+        return sd_bus_get_owner_dbus(bus, name, mask, owner, creds);
+}
+
 int bus_add_match_internal(
                 sd_bus *bus,
                 const char *match,