diff options
author | David Zeuthen <davidz@redhat.com> | 2011-03-17 14:48:25 -0400 |
---|---|---|
committer | David Zeuthen <davidz@redhat.com> | 2011-03-17 14:48:25 -0400 |
commit | daea9703f9b3a592385d078edec7aeddcea143fe (patch) | |
tree | 55a8682dd4e315f4b4ad3002da0e6888df91c040 | |
parent | c7037291329534fe972ce8aa421a31cf328d71b0 (diff) |
Actually implement interface functions in GDBusObjectManagerServer
Signed-off-by: David Zeuthen <davidz@redhat.com>
-rw-r--r-- | src/gdbusobjectmanagerclient.c | 8 | ||||
-rw-r--r-- | src/gdbusobjectmanagerserver.c | 27 |
2 files changed, 23 insertions, 12 deletions
diff --git a/src/gdbusobjectmanagerclient.c b/src/gdbusobjectmanagerclient.c index c294eb3..e48b207 100644 --- a/src/gdbusobjectmanagerclient.c +++ b/src/gdbusobjectmanagerclient.c @@ -1523,9 +1523,6 @@ g_dbus_object_manager_client_get_object (GDBusObjectManager *_manager, GDBusObjectManagerClient *manager = G_DBUS_OBJECT_MANAGER_CLIENT (_manager); GDBusObject *ret; - g_return_val_if_fail (G_IS_DBUS_OBJECT_MANAGER_CLIENT (manager), NULL); - g_return_val_if_fail (g_variant_is_object_path (object_path), NULL); - ret = g_hash_table_lookup (manager->priv->map_object_path_to_object_proxy, object_path); if (ret != NULL) g_object_ref (ret); @@ -1537,14 +1534,9 @@ g_dbus_object_manager_client_get_interface (GDBusObjectManager *_manager, const gchar *object_path, const gchar *interface_name) { - GDBusObjectManagerClient *manager = G_DBUS_OBJECT_MANAGER_CLIENT (_manager); GDBusInterface *ret; GDBusObject *object; - g_return_val_if_fail (G_IS_DBUS_OBJECT_MANAGER_CLIENT (manager), NULL); - g_return_val_if_fail (g_variant_is_object_path (object_path), NULL); - g_return_val_if_fail (g_dbus_is_interface_name (interface_name), NULL); - ret = NULL; object = g_dbus_object_manager_get_object (_manager, object_path); diff --git a/src/gdbusobjectmanagerserver.c b/src/gdbusobjectmanagerserver.c index 87f5230..642edaf 100644 --- a/src/gdbusobjectmanagerserver.c +++ b/src/gdbusobjectmanagerserver.c @@ -879,8 +879,15 @@ static GDBusObject * g_dbus_object_manager_server_get_object (GDBusObjectManager *_manager, const gchar *object_path) { - g_assert_not_reached (); - return NULL; + GDBusObjectManagerServer *manager = G_DBUS_OBJECT_MANAGER_SERVER (_manager); + GDBusObject *ret; + RegistrationData *data; + + ret = NULL; + data = g_hash_table_lookup (manager->priv->map_object_path_to_data, object_path); + if (data != NULL) + ret = g_object_ref (data->object); + return ret; } static GDBusInterface * @@ -888,8 +895,20 @@ g_dbus_object_manager_server_get_interface (GDBusObjectManager *_manager, const gchar *object_path, const gchar *interface_name) { - g_assert_not_reached (); - return NULL; + GDBusInterface *ret; + GDBusObject *object; + + ret = NULL; + + object = g_dbus_object_manager_get_object (_manager, object_path); + if (object == NULL) + goto out; + + ret = g_dbus_object_get_interface (object, interface_name); + g_object_unref (object); + + out: + return ret; } static void |