From cb44abb7b70aa160045f8a3f45f769360577fa70 Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Tue, 3 Jun 2008 17:52:57 +0000 Subject: Replace destroy function with proper unregister call --- hcid/dbus-common.c | 5 +---- hcid/manager.c | 8 ++++++++ hcid/manager.h | 1 + 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/hcid/dbus-common.c b/hcid/dbus-common.c index 6028bc78..1270a002 100644 --- a/hcid/dbus-common.c +++ b/hcid/dbus-common.c @@ -303,10 +303,7 @@ void hcid_dbus_exit(void) dbus_free_string_array(children); done: - dbus_connection_destroy_object_path(conn, BASE_PATH); - - if (hcid_dbus_use_experimental()) - dbus_connection_destroy_object_path(conn, "/"); + manager_cleanup(conn, BASE_PATH); set_dbus_connection(NULL); diff --git a/hcid/manager.c b/hcid/manager.c index 5c26f883..24ce93a9 100644 --- a/hcid/manager.c +++ b/hcid/manager.c @@ -539,6 +539,14 @@ dbus_bool_t manager_init(DBusConnection *conn, const char *path) NULL, NULL, NULL); } +void manager_cleanup(DBusConnection *conn, const char *path) +{ + g_dbus_unregister_interface(conn, path, MANAGER_INTERFACE); + + if (hcid_dbus_use_experimental()) + g_dbus_unregister_interface(conn, "/", MANAGER_INTERFACE); +} + int get_default_adapter(void) { return default_adapter_id; diff --git a/hcid/manager.h b/hcid/manager.h index 7d435dea..c8924583 100644 --- a/hcid/manager.h +++ b/hcid/manager.h @@ -25,6 +25,7 @@ #define MANAGER_INTERFACE "org.bluez.Manager" dbus_bool_t manager_init(DBusConnection *conn, const char *path); +void manager_cleanup(DBusConnection *conn, const char *path); int get_default_adapter(void); -- cgit