summaryrefslogtreecommitdiffstats
path: root/gdbus/object.c
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2008-06-03 14:56:37 +0000
committerMarcel Holtmann <marcel@holtmann.org>2008-06-03 14:56:37 +0000
commitc4d01c3cd114eccaa8ef79d8e082b345783ba9f1 (patch)
tree440207f00b7c834a4a3583368e721a6114a3fa0a /gdbus/object.c
parent21e5707fba726c379ed6a260f6efb4dab9d7c44b (diff)
Add simple g_dbus_unregister_all_interfaces implementation
Diffstat (limited to 'gdbus/object.c')
-rw-r--r--gdbus/object.c15
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,