diff options
author | Marcel Holtmann <marcel@holtmann.org> | 2008-06-03 14:56:37 +0000 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2008-06-03 14:56:37 +0000 |
commit | c4d01c3cd114eccaa8ef79d8e082b345783ba9f1 (patch) | |
tree | 440207f00b7c834a4a3583368e721a6114a3fa0a /gdbus/object.c | |
parent | 21e5707fba726c379ed6a260f6efb4dab9d7c44b (diff) |
Add simple g_dbus_unregister_all_interfaces implementation
Diffstat (limited to 'gdbus/object.c')
-rw-r--r-- | gdbus/object.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/gdbus/object.c b/gdbus/object.c index 0094e76b..0e979f97 100644 --- a/gdbus/object.c +++ b/gdbus/object.c @@ -862,7 +862,20 @@ gboolean g_dbus_unregister_interface(DBusConnection *connection, gboolean g_dbus_unregister_all_interfaces(DBusConnection *connection, const char *path) { - return FALSE; + struct generic_data *data = NULL; + + if (dbus_connection_get_object_path_data(connection, path, + (void *) &data) == FALSE) + return FALSE; + + if (data == NULL) + return FALSE; + + invalidate_parent_data(connection, path); + + dbus_connection_unregister_object_path(connection, path); + + return TRUE; } DBusMessage *g_dbus_create_error_valist(DBusMessage *message, const char *name, |