From 5ceceff1707ef210f932d7215cdef3f030ed5a9e Mon Sep 17 00:00:00 2001 From: =?utf8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Thu, 23 Apr 2020 14:10:33 +0200 Subject: [PATCH] localed: convert to the new scheme and add --bus-introspect --- src/locale/localed.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/locale/localed.c b/src/locale/localed.c index ef73448854..acdf79fa6b 100644 --- a/src/locale/localed.c +++ b/src/locale/localed.c @@ -710,6 +710,12 @@ static const sd_bus_vtable locale_vtable[] = { SD_BUS_VTABLE_END }; +static const BusObjectImplementation manager_object = { + "/org/freedesktop/locale1", + "org.freedesktop.locale1", + .vtables = BUS_VTABLES(locale_vtable), +}; + static int connect_bus(Context *c, sd_event *event, sd_bus **_bus) { _cleanup_(sd_bus_flush_close_unrefp) sd_bus *bus = NULL; int r; @@ -722,9 +728,9 @@ static int connect_bus(Context *c, sd_event *event, sd_bus **_bus) { if (r < 0) return log_error_errno(r, "Failed to get system bus connection: %m"); - r = sd_bus_add_object_vtable(bus, NULL, "/org/freedesktop/locale1", "org.freedesktop.locale1", locale_vtable, c); + r = bus_add_implementation(bus, &manager_object, c); if (r < 0) - return log_error_errno(r, "Failed to register object: %m"); + return r; r = bus_log_control_api_register(bus); if (r < 0) @@ -757,7 +763,8 @@ static int run(int argc, char *argv[]) { r = service_parse_argv("systemd-localed.service", "Manage system locale settings and key mappings.", - NULL, + BUS_IMPLEMENTATIONS(&manager_object, + &log_control_object), argc, argv); if (r <= 0) return r; -- 2.25.1