bus: introduce bus-locator.[ch]

Move BusLocator into its own header, introduce collection of
locators for use throughout the code.
This commit is contained in:
Vito Caputo 2020-05-07 01:16:59 -07:00
parent d402edb764
commit 54e27bb5c0
4 changed files with 85 additions and 6 deletions

63
src/shared/bus-locator.c Normal file
View file

@ -0,0 +1,63 @@
/* SPDX-License-Identifier: LGPL-2.1+ */
#include "bus-locator.h"
const BusLocator* const bus_home_mgr = &(BusLocator){
.destination = "org.freedesktop.home1",
.path = "/org/freedesktop/home1",
.interface = "org.freedesktop.home1.Manager",
};
const BusLocator* const bus_import_mgr = &(BusLocator){
.destination ="org.freedesktop.import1",
.path = "/org/freedesktop/import1",
.interface = "org.freedesktop.import1.Manager"
};
const BusLocator* const bus_locale = &(BusLocator){
.destination = "org.freedesktop.locale1",
.path = "/org/freedesktop/locale1",
.interface = "org.freedesktop.locale1"
};
const BusLocator* const bus_login_mgr = &(BusLocator){
.destination = "org.freedesktop.login1",
.path = "/org/freedesktop/login1",
.interface = "org.freedesktop.login1.Manager"
};
const BusLocator* const bus_machine_mgr = &(BusLocator){
.destination ="org.freedesktop.machine1",
.path = "/org/freedesktop/machine1",
.interface = "org.freedesktop.machine1.Manager"
};
const BusLocator* const bus_network_mgr = &(BusLocator){
.destination = "org.freedesktop.network1",
.path = "/org/freedesktop/network1",
.interface = "org.freedesktop.network1.Manager"
};
const BusLocator* const bus_portable_mgr = &(BusLocator){
.destination = "org.freedesktop.portable1",
.path = "/org/freedesktop/portable1",
.interface = "org.freedesktop.portable1.Manager"
};
const BusLocator* const bus_resolve_mgr = &(BusLocator){
.destination = "org.freedesktop.resolve1",
.path = "/org/freedesktop/resolve1",
.interface = "org.freedesktop.resolve1.Manager"
};
const BusLocator* const bus_systemd_mgr = &(BusLocator){
.destination = "org.freedesktop.systemd1",
.path = "/org/freedesktop/systemd1",
.interface = "org.freedesktop.systemd1.Manager"
};
const BusLocator* const bus_timedate = &(BusLocator){
.destination = "org.freedesktop.timedate1",
.path = "/org/freedesktop/timedate1",
.interface = "org.freedesktop.timedate1"
};

19
src/shared/bus-locator.h Normal file
View file

@ -0,0 +1,19 @@
/* SPDX-License-Identifier: LGPL-2.1+ */
#pragma once
typedef struct BusLocator {
const char *destination;
const char *path;
const char *interface;
} BusLocator;
extern const BusLocator* const bus_home_mgr;
extern const BusLocator* const bus_import_mgr;
extern const BusLocator* const bus_locale;
extern const BusLocator* const bus_login_mgr;
extern const BusLocator* const bus_machine_mgr;
extern const BusLocator* const bus_network_mgr;
extern const BusLocator* const bus_portable_mgr;
extern const BusLocator* const bus_resolve_mgr;
extern const BusLocator* const bus_systemd_mgr;
extern const BusLocator* const bus_timedate;

View file

@ -9,6 +9,7 @@
#include "sd-bus.h"
#include "sd-event.h"
#include "bus-locator.h"
#include "macro.h"
#include "set.h"
#include "string-util.h"
@ -22,12 +23,6 @@ typedef enum BusTransport {
_BUS_TRANSPORT_INVALID = -1
} BusTransport;
typedef struct BusLocator {
const char *destination;
const char *path;
const char *interface;
} BusLocator;
typedef struct BusObjectImplementation BusObjectImplementation;
typedef struct BusObjectVtablePair {

View file

@ -25,6 +25,8 @@ shared_sources = files('''
bpf-program.h
bridge-util.c
bridge-util.h
bus-locator.c
bus-locator.h
bus-log-control-api.c
bus-log-control-api.h
bus-polkit.c