summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/shared/bus-locator.c63
-rw-r--r--src/shared/bus-locator.h19
-rw-r--r--src/shared/bus-util.h7
-rw-r--r--src/shared/meson.build2
4 files changed, 85 insertions, 6 deletions
diff --git a/src/shared/bus-locator.c b/src/shared/bus-locator.c
new file mode 100644
index 0000000000..a79699d62d
--- /dev/null
+++ b/src/shared/bus-locator.c
@@ -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"
+};
diff --git a/src/shared/bus-locator.h b/src/shared/bus-locator.h
new file mode 100644
index 0000000000..91a9aaf63a
--- /dev/null
+++ b/src/shared/bus-locator.h
@@ -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;
diff --git a/src/shared/bus-util.h b/src/shared/bus-util.h
index 7678680dae..ef14217e93 100644
--- a/src/shared/bus-util.h
+++ b/src/shared/bus-util.h
@@ -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 {
diff --git a/src/shared/meson.build b/src/shared/meson.build
index 60d6adb068..301a8334a4 100644
--- a/src/shared/meson.build
+++ b/src/shared/meson.build
@@ -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