diff --git a/obexd/client/manager.c b/obexd/client/manager.c
index 8f367d6..806c9e4 100644
--- a/obexd/client/manager.c
+++ b/obexd/client/manager.c
#include "pbap.h"
#include "sync.h"
#include "map.h"
-
-#define CLIENT_SERVICE "org.bluez.obex.client"
+#include "obexd/src/manager.h"
#define CLIENT_INTERFACE "org.bluez.obex.Client"
#define ERROR_INTERFACE "org.bluez.obex.Error"
dbus_error_init(&derr);
- conn = g_dbus_setup_bus(DBUS_BUS_SESSION, CLIENT_SERVICE, &derr);
- if (dbus_error_is_set(&derr) == TRUE) {
- error("%s: %s", derr.name, derr.message);
- dbus_error_free(&derr);
+ conn = manager_dbus_get_connection();
+ if (conn == NULL) {
+ error("Can't get client D-Bus connection");
return -1;
}
- g_dbus_attach_object_manager(conn);
-
if (g_dbus_register_interface(conn, CLIENT_PATH, CLIENT_INTERFACE,
client_methods, NULL, NULL,
NULL, NULL) == FALSE) {
module->exit();
g_dbus_unregister_interface(conn, CLIENT_PATH, CLIENT_INTERFACE);
- g_dbus_detach_object_manager(conn);
+
dbus_connection_unref(conn);
}
diff --git a/obexd/src/manager.h b/obexd/src/manager.h
index 99303a2..b0400aa 100644
--- a/obexd/src/manager.h
+++ b/obexd/src/manager.h
#define OBEXD_SERVICE "org.bluez.obex"
+struct obex_session;
+
void manager_register_session(struct obex_session *os);
void manager_unregister_session(struct obex_session *os);
void manager_register_transfer(struct obex_session *os);