diff options
author | Marcel Holtmann <marcel@holtmann.org> | 2008-06-03 17:52:57 +0000 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2008-06-03 17:52:57 +0000 |
commit | cb44abb7b70aa160045f8a3f45f769360577fa70 (patch) | |
tree | 0f8b3232f0e9d7f2d83440f0701c76896ba1fbd3 | |
parent | a853f0013160472751d39b68af8c40ce5e5d6336 (diff) |
Replace destroy function with proper unregister call
-rw-r--r-- | hcid/dbus-common.c | 5 | ||||
-rw-r--r-- | hcid/manager.c | 8 | ||||
-rw-r--r-- | 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); |