static void gom_repository_find_one_fetch_cb (GObject *object, GAsyncResult *result, gpointer user_data) { GSimpleAsyncResult *simple = user_data; GomResourceGroup *group = (GomResourceGroup *)object; GomResource *resource; GError *error = NULL; g_return_if_fail(GOM_IS_RESOURCE_GROUP(group)); g_return_if_fail(G_IS_SIMPLE_ASYNC_RESULT(simple)); if (!gom_resource_group_fetch_finish(group, result, &error)) { g_simple_async_result_take_error(simple, error); g_simple_async_result_complete_in_idle(simple); g_object_unref(simple); return; } resource = gom_resource_group_get_index(group, 0); g_simple_async_result_set_op_res_gpointer(simple, g_object_ref(resource), g_object_unref); g_simple_async_result_complete_in_idle(simple); g_object_unref(simple); }
static void catch_resource_group_set_group (CatchResourceGroup *group, GomResourceGroup *gom_group) { CatchResourceGroupPrivate *priv; ENTRY; g_return_if_fail(CATCH_IS_RESOURCE_GROUP(group)); g_return_if_fail(!gom_group || GOM_IS_RESOURCE_GROUP(gom_group)); priv = group->priv; g_clear_object(&priv->group); priv->count = 0; if (gom_group) { priv->group = g_object_ref(gom_group); priv->count = gom_resource_group_get_count(gom_group); } g_object_notify_by_pspec(G_OBJECT(group), gParamSpecs[PROP_COUNT]); g_object_notify_by_pspec(G_OBJECT(group), gParamSpecs[PROP_GROUP]); EXIT; }