hostnamed: convert to the new scheme and add --bus-introspect

This commit is contained in:
Zbigniew Jędrzejewski-Szmek 2020-04-23 14:08:16 +02:00
parent 8b4933973e
commit 670139db40
1 changed files with 10 additions and 3 deletions

View File

@ -740,6 +740,12 @@ static const sd_bus_vtable hostname_vtable[] = {
SD_BUS_VTABLE_END,
};
static const BusObjectImplementation manager_object = {
"/org/freedesktop/hostname1",
"org.freedesktop.hostname1",
.vtables = BUS_VTABLES(hostname_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;
@ -752,9 +758,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/hostname1", "org.freedesktop.hostname1", hostname_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)
@ -783,7 +789,8 @@ static int run(int argc, char *argv[]) {
r = service_parse_argv("systemd-hostnamed.service",
"Manage the system hostname and related metadata.",
NULL,
BUS_IMPLEMENTATIONS(&manager_object,
&log_control_object),
argc, argv);
if (r <= 0)
return r;