]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
machined: move bus_reply_pair_array() into generic utilities
authorLennart Poettering <lennart@poettering.net>
Mon, 9 Apr 2018 17:44:21 +0000 (19:44 +0200)
committerLennart Poettering <lennart@poettering.net>
Thu, 24 May 2018 15:01:57 +0000 (17:01 +0200)
This way, we can reuse it in portabled.

src/machine/machine-dbus.h
src/machine/machined-dbus.c
src/shared/bus-util.c
src/shared/bus-util.h

index 50cdda45f07838b6dc022e0049608f488bc093e7..6b9cdef8c86fdbea8525d0dab184911bc448aa64 100644 (file)
@@ -31,5 +31,3 @@ int bus_machine_method_get_uid_shift(sd_bus_message *message, void *userdata, sd
 
 int machine_send_signal(Machine *m, bool new_machine);
 int machine_send_create_reply(Machine *m, sd_bus_error *error);
-
-int bus_reply_pair_array(sd_bus_message *m, char **l);
index cb16ce9d19d7f28c0763cade6fe7615ac86839cb..cb46718696dd5df4941b49bb19e38d6fe65a3c2c 100644 (file)
@@ -1588,30 +1588,3 @@ int manager_add_machine(Manager *m, const char *name, Machine **_machine) {
 
         return 0;
 }
-
-int bus_reply_pair_array(sd_bus_message *m, char **l) {
-        _cleanup_(sd_bus_message_unrefp) sd_bus_message *reply = NULL;
-        char **k, **v;
-        int r;
-
-        r = sd_bus_message_new_method_return(m, &reply);
-        if (r < 0)
-                return r;
-
-        r = sd_bus_message_open_container(reply, 'a', "{ss}");
-        if (r < 0)
-                return r;
-
-        STRV_FOREACH_PAIR(k, v, l) {
-                r = sd_bus_message_append(reply, "{ss}", *k, *v);
-                if (r < 0)
-                        return r;
-        }
-
-        r = sd_bus_message_close_container(reply);
-        if (r < 0)
-                return r;
-
-        return sd_bus_send(NULL, reply, NULL);
-
-}
index ed30edfb60f64b5f51873ddaa9cb7240f6563204..998134ec8c3597927fa7f32109792d9778299cb2 100644 (file)
@@ -1847,3 +1847,34 @@ int bus_request_name_async_may_reload_dbus(sd_bus *bus, sd_bus_slot **ret_slot,
 
         return sd_bus_request_name_async(bus, ret_slot, name, flags, request_name_handler_may_reload_dbus, data);
 }
+
+int bus_reply_pair_array(sd_bus_message *m, char **l) {
+        _cleanup_(sd_bus_message_unrefp) sd_bus_message *reply = NULL;
+        char **k, **v;
+        int r;
+
+        assert(m);
+
+        /* Reply to the specified message with a message containing a dictionary put together from the specified
+         * strv */
+
+        r = sd_bus_message_new_method_return(m, &reply);
+        if (r < 0)
+                return r;
+
+        r = sd_bus_message_open_container(reply, 'a', "{ss}");
+        if (r < 0)
+                return r;
+
+        STRV_FOREACH_PAIR(k, v, l) {
+                r = sd_bus_message_append(reply, "{ss}", *k, *v);
+                if (r < 0)
+                        return r;
+        }
+
+        r = sd_bus_message_close_container(reply);
+        if (r < 0)
+                return r;
+
+        return sd_bus_send(NULL, reply, NULL);
+}
index 16aeca74ddb9fb0363e873eb71364b874ae0a42b..ee9f1ff09705c8885ec45eebbe9fb7da9cd30453 100644 (file)
@@ -184,3 +184,5 @@ static inline int bus_open_system_watch_bind(sd_bus **ret) {
 }
 
 int bus_request_name_async_may_reload_dbus(sd_bus *bus, sd_bus_slot **ret_slot, const char *name, uint64_t flags, void *userdata);
+
+int bus_reply_pair_array(sd_bus_message *m, char **l);