diff options
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, | 
