Obexd can either connect to the system or session bus. We mostly share a common connection to that bus, but it can be useful to have a private connection. For example, this allows us to quickly unregister profiles when switching user. Add obex_setup_dbus_connection_private(), which creates a new connection to whichever bus was specified by the user. Signed-off-by: Andrew Sayers <kernel.org@xxxxxxxxxxxxxxx> --- obexd/src/main.c | 8 ++++++++ obexd/src/obexd.h | 2 ++ 2 files changed, 10 insertions(+) diff --git a/obexd/src/main.c b/obexd/src/main.c index 703173662..ca95a70de 100644 --- a/obexd/src/main.c +++ b/obexd/src/main.c @@ -253,6 +253,14 @@ DBusConnection *obex_setup_dbus_connection(const char *name, return connection; } +DBusConnection *obex_setup_dbus_connection_private(const char *name, + DBusError *error) +{ + return g_dbus_setup_private(option_system_bus ? + DBUS_BUS_SYSTEM : DBUS_BUS_SESSION, + name, error); +} + int main(int argc, char *argv[]) { GOptionContext *context; diff --git a/obexd/src/obexd.h b/obexd/src/obexd.h index 5e5edc4de..560db29ce 100644 --- a/obexd/src/obexd.h +++ b/obexd/src/obexd.h @@ -33,3 +33,5 @@ const char *obex_option_capability(void); DBusConnection *obex_get_dbus_connection(void); DBusConnection *obex_setup_dbus_connection(const char *name, DBusError *error); +DBusConnection *obex_setup_dbus_connection_private(const char *name, + DBusError *error); -- 2.49.0