/** * json_parser_load_from_stream_finish: * @parser: a #JsonParser * @result: a #GAsyncResult * @error: the return location for a #GError or %NULL * * Finishes an asynchronous stream loading started with * json_parser_load_from_stream_async(). * * Return value: %TRUE if the content of the stream was successfully retrieves * and parsed, and %FALSE otherwise. In case of error, the #GError will be * filled accordingly. * * Since: 0.12 */ gboolean json_parser_load_from_stream_finish (JsonParser *parser, GAsyncResult *result, GError **error) { gboolean res; g_return_val_if_fail (JSON_IS_PARSER (parser), FALSE); g_return_val_if_fail (g_task_is_valid (result, parser), FALSE); res = g_task_propagate_boolean (G_TASK (result), error); if (res) { LoadData *data = g_task_get_task_data (G_TASK (result)); GError *internal_error = NULL; /* We need to do this inside the finis() function because JsonParser will emit * signals, and we need to ensure that the signals are emitted in the right * context; it's easier to do that if we just rely on the async callback being * called in the right context, even if it means making the finish() function * necessary to complete the async operation. */ res = json_parser_load (parser, (const gchar *) data->content->data, data->pos, &internal_error); if (internal_error != NULL) g_propagate_error (error, internal_error); } return res; }
static gboolean get_providers_finish_default (GoaProviderFactory *factory, GList **out_providers, GAsyncResult *result, GError **error) { GTask *task; GList *providers; gboolean had_error; g_return_val_if_fail (g_task_is_valid (result, factory), FALSE); g_return_val_if_fail (error == NULL || *error == NULL, FALSE); task = G_TASK (result); /* Workaround for bgo#764163 */ had_error = g_task_had_error (task); providers = g_task_propagate_pointer (task, error); if (had_error) return FALSE; if (out_providers != NULL) { *out_providers = providers; providers = NULL; } g_list_free_full (providers, g_object_unref); return TRUE; }
/** * e_trust_prompt_run_for_source_finish: * @source: an #ESource which was used with e_trust_prompt_run_for_source() * @result: a #GAsyncResult * @response: an output argument, user's response to the trust prompt * @error: return location for a #GError, or %NULL * * Finishes the operation started with e_trust_prompt_run_for_source(). * The @response will contain a code of the user's choice. * The #E_TRUST_PROMPT_RESPONSE_UNKNOWN is used, when the user cancelled the trust * prompt dialog and no changes are made with the @source. * * If an error occurs, the function sets @error and returns %FALSE. * * Returns: %TRUE on success, %FALSE on error * * Since: 3.16 **/ gboolean e_trust_prompt_run_for_source_finish (ESource *source, GAsyncResult *result, ETrustPromptResponse *response, GError **error) { gboolean success; g_return_val_if_fail (E_IS_SOURCE (source), FALSE); g_return_val_if_fail (g_task_is_valid (result, source), FALSE); g_return_val_if_fail (response != NULL, FALSE); g_return_val_if_fail ( g_async_result_is_tagged ( result, e_trust_prompt_run_for_source), FALSE); success = g_task_propagate_boolean (G_TASK (result), error); if (success) { SaveSourceData *save_data; save_data = g_task_get_task_data (G_TASK (result)); g_return_val_if_fail (save_data != NULL, FALSE); *response = save_data->response; } return success; }
GDavMultiStatus * gdav_propfind_finish (SoupSession *session, GAsyncResult *result, SoupMessage **out_message, GError **error) { AsyncContext *async_context; g_return_val_if_fail ( g_task_is_valid (result, session), NULL); g_return_val_if_fail ( g_async_result_is_tagged (result, gdav_propfind), FALSE); async_context = g_task_get_task_data (G_TASK (result)); /* SoupMessage is set even in case of error for uses * like calling soup_message_get_https_status() when * SSL/TLS negotiation fails, though SoupMessage may * be NULL if the Request-URI was invalid. */ if (out_message != NULL) { *out_message = async_context->message; async_context->message = NULL; } return g_task_propagate_pointer (G_TASK (result), error); }
gboolean gdav_options_finish (SoupSession *session, GAsyncResult *result, GDavAllow *out_allow, GDavOptions *out_options, SoupMessage **out_message, GError **error) { AsyncContext *async_context; g_return_val_if_fail ( g_task_is_valid (result, session), FALSE); g_return_val_if_fail ( g_async_result_is_tagged (result, gdav_options), FALSE); async_context = g_task_get_task_data (G_TASK (result)); if (!g_task_had_error (G_TASK (result))) { if (out_allow != NULL) *out_allow = async_context->allow; if (out_options != NULL) *out_options = async_context->options; } /* SoupMessage is set even in case of error for uses * like calling soup_message_get_https_status() when * SSL/TLS negotiation fails, though SoupMessage may * be NULL if the Request-URI was invalid. */ if (out_message != NULL) { *out_message = async_context->message; async_context->message = NULL; } return g_task_propagate_boolean (G_TASK (result), error); }
gboolean um_realm_login_finish (UmRealmObject *realm, GAsyncResult *result, GBytes **credentials, GError **error) { GTask *task; LoginClosure *login; g_return_val_if_fail (g_task_is_valid (result, realm), FALSE); g_return_val_if_fail (error == NULL || *error == NULL, FALSE); task = G_TASK (result); if (!g_task_propagate_boolean (task, error)) return FALSE; login = g_task_get_task_data (task); if (credentials) { if (login->credentials) *credentials = g_bytes_ref (login->credentials); else *credentials = NULL; } return TRUE; }
GFileOutputStream * photos_glib_file_create_finish (GFile *file, GAsyncResult *res, GFile **out_unique_file, GError **error) { GTask *task = G_TASK (res); GFileOutputStream *ret_val = NULL; PhotosGLibFileCreateData *data; g_return_val_if_fail (G_IS_FILE (file), NULL); g_return_val_if_fail (g_task_is_valid (res, file), NULL); g_return_val_if_fail (g_task_get_source_tag (task) == photos_glib_file_create_async, NULL); g_return_val_if_fail (error == NULL || *error == NULL, NULL); data = (PhotosGLibFileCreateData *) g_task_get_task_data (task); g_return_val_if_fail (data != NULL, NULL); ret_val = g_task_propagate_pointer (task, error); if (ret_val == NULL) goto out; if (out_unique_file != NULL) { GFile *unique_file; g_autofree gchar *filename = NULL; filename = photos_glib_file_create_data_get_filename (data); unique_file = g_file_get_child (data->dir, filename); *out_unique_file = unique_file; } out: return ret_val; }
/** * ostree_sysroot_lock_finish: * @self: Self * @result: Result * @error: Error * * Call when ostree_sysroot_lock_async() is ready. */ gboolean ostree_sysroot_lock_finish (OstreeSysroot *self, GAsyncResult *result, GError **error) { g_return_val_if_fail (g_task_is_valid (result, self), FALSE); return g_task_propagate_boolean ((GTask*)result, error); }
/* Returns id of renewed subscription or new id */ gint pp_cups_renew_subscription_finish (PpCups *cups, GAsyncResult *result) { g_return_val_if_fail (g_task_is_valid (result, cups), FALSE); return g_task_propagate_int (G_TASK (result), NULL); }
gboolean pp_cups_cancel_subscription_finish (PpCups *cups, GAsyncResult *result) { g_return_val_if_fail (g_task_is_valid (result, cups), FALSE); return g_task_propagate_boolean (G_TASK (result), NULL); }
/** * cd_profile_install_system_wide_finish: * @profile: a #CdProfile instance. * @res: the #GAsyncResult * @error: A #GError or %NULL * * Gets the result from the asynchronous function. * * Return value: success * * Since: 0.1.8 **/ gboolean cd_profile_install_system_wide_finish (CdProfile *profile, GAsyncResult *res, GError **error) { g_return_val_if_fail (g_task_is_valid (res, profile), FALSE); return g_task_propagate_boolean (G_TASK (res), error); }
static GList * seahorse_hkp_source_import_finish (SeahorseServerSource *source, GAsyncResult *result, GError **error) { g_return_val_if_fail (g_task_is_valid (result, source), NULL); return g_task_propagate_pointer (G_TASK (result), error); }
PpCupsDests * pp_cups_get_dests_finish (PpCups *cups, GAsyncResult *res, GError **error) { g_return_val_if_fail (g_task_is_valid (res, cups), NULL); return g_task_propagate_pointer (G_TASK (res), error); }
PpDevicesList * pp_host_get_lpd_devices_finish (PpHost *host, GAsyncResult *res, GError **error) { g_return_val_if_fail (g_task_is_valid (res, host), NULL); return g_task_propagate_pointer (G_TASK (res), error); }
static void cleaner_task_ready_handler (GObject *source_object, GAsyncResult *res, gpointer user_data) { g_debug ("%s:%d[%s]", __FILE__, __LINE__, __FUNCTION__); g_return_val_if_fail (g_task_is_valid (res, source_object), NULL); g_task_propagate_boolean (G_TASK (res), NULL); }
gboolean cb_media_downloader_load_finish (CbMediaDownloader *downloader, GAsyncResult *result, GError **error) { g_return_val_if_fail (g_task_is_valid (result, downloader), FALSE); return g_task_propagate_boolean (G_TASK (result), error); }
static gboolean gdav_request_send_finish (SoupRequestHTTP *request, GAsyncResult *result, GError **error) { g_return_val_if_fail (g_task_is_valid (result, request), FALSE); return g_task_propagate_boolean (G_TASK (result), error); }
static GSocketAddress * g_proxy_address_enumerator_next_finish (GSocketAddressEnumerator *enumerator, GAsyncResult *result, GError **error) { g_return_val_if_fail (g_task_is_valid (result, enumerator), NULL); return g_task_propagate_pointer (G_TASK (result), error); }
gboolean pp_maintenance_command_is_supported_finish (PpMaintenanceCommand *command, GAsyncResult *result, GError **error) { g_return_val_if_fail (g_task_is_valid (result, command), FALSE); return g_task_propagate_boolean (G_TASK (result), error); }
static GList * lookup_records_finish (GResolver *resolver, GAsyncResult *result, GError **error) { g_return_val_if_fail (g_task_is_valid (result, resolver), NULL); return g_task_propagate_pointer (G_TASK (result), error); }
static gboolean g_tls_connection_base_close_finish (GIOStream *stream, GAsyncResult *result, GError **error) { g_return_val_if_fail (g_task_is_valid (result, stream), FALSE); return g_task_propagate_boolean (G_TASK (result), error); }
static GInputStream * soup_request_file_send_finish (SoupRequest *request, GAsyncResult *result, GError **error) { g_return_val_if_fail (g_task_is_valid (result, request), NULL); return g_task_propagate_pointer (G_TASK (result), error); }
static gboolean g_tls_connection_base_handshake_finish (GTlsConnection *conn, GAsyncResult *result, GError **error) { g_return_val_if_fail (g_task_is_valid (result, conn), FALSE); return g_task_propagate_boolean (G_TASK (result), error); }
static gboolean g_unix_input_stream_close_finish (GInputStream *stream, GAsyncResult *result, GError **error) { g_return_val_if_fail (g_task_is_valid (result, stream), FALSE); return g_task_propagate_boolean (G_TASK (result), error); }
/** * media_art_remove_finish: * @source_object: (allow-none): the #GObject this task belongs to, * can be %NULL. * @result: a #GAsyncResult. * @error: a #GError location to store the error occurring, or %NULL * to ignore. * * Finishes the asynchronous operation started with * media_art_remove_async(). * * Returns: %TRUE on success, otherwise %FALSE when @error will be set. * * Since: 0.7.0 **/ gboolean media_art_remove_finish (GObject *source_object, GAsyncResult *result, GError **error) { g_return_val_if_fail (g_task_is_valid (result, source_object), FALSE); return g_task_propagate_boolean (G_TASK (result), error); }
static gboolean gdk_clipboard_store_default_finish (GdkClipboard *clipboard, GAsyncResult *result, GError **error) { g_return_val_if_fail (g_task_is_valid (result, clipboard), FALSE); g_return_val_if_fail (g_task_get_source_tag (G_TASK (result)) == gdk_clipboard_store_default_async, FALSE); return g_task_propagate_boolean (G_TASK (result), error); }
/** * gvir_storage_pool_refresh_finish: * @pool: the storage pool * @result: (transfer none): async method result */ gboolean gvir_storage_pool_refresh_finish(GVirStoragePool *pool, GAsyncResult *result, GError **err) { g_return_val_if_fail(GVIR_IS_STORAGE_POOL(pool), FALSE); g_return_val_if_fail(g_task_is_valid(result, pool), FALSE); g_return_val_if_fail(err == NULL || *err == NULL, FALSE); return g_task_propagate_boolean(G_TASK(result), err); }
gboolean gb_beautifier_process_launch_finish (GbBeautifierWorkbenchAddin *self, GAsyncResult *result, GError **error) { g_assert (GB_IS_BEAUTIFIER_WORKBENCH_ADDIN (self)); g_assert (g_task_is_valid (result, self)); return g_task_propagate_boolean (G_TASK (result), error); }
gboolean hev_filebox_uploader_handle_finish (HevFileboxUploader *self, GAsyncResult *result, GError **error) { g_debug ("%s:%d[%s]", __FILE__, __LINE__, __FUNCTION__); g_return_val_if_fail (g_task_is_valid (result, self), NULL); return g_task_propagate_boolean (G_TASK (result), error); }
static gboolean seahorse_hkp_source_search_finish (SeahorseServerSource *source, GAsyncResult *result, GError **error) { g_return_val_if_fail (SEAHORSE_IS_HKP_SOURCE (source), FALSE); g_return_val_if_fail (g_task_is_valid (result, source), FALSE); return g_task_propagate_boolean (G_TASK (result), error); }