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;
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)
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;