static void on_search_message_complete (SoupSession *session, SoupMessage *message, gpointer user_data) { GSimpleAsyncResult *res = G_SIMPLE_ASYNC_RESULT (user_data); source_search_closure *closure = g_simple_async_result_get_op_res_gpointer (res); GError *error = NULL; GList *keys, *l; seahorse_progress_end (closure->cancellable, message); if (hkp_message_propagate_error (closure->source, message, &error)) { g_simple_async_result_take_error (res, error); } else { keys = parse_hkp_index (message->response_body->data); for (l = keys; l; l = g_list_next (l)) { g_object_set (l->data, "place", closure->source, NULL); gcr_simple_collection_add (closure->results, l->data); } g_list_free_full (keys, g_object_unref); } g_simple_async_result_complete_in_idle (res); g_object_unref (res); }
static void on_search_message_complete (SoupSession *session, SoupMessage *message, gpointer user_data) { g_autoptr(GTask) task = G_TASK (user_data); source_search_closure *closure = g_task_get_task_data (task); g_autoptr(GError) error = NULL; GList *keys, *l; seahorse_progress_end (closure->cancellable, message); if (hkp_message_propagate_error (closure->source, message, &error)) { g_task_return_error (task, g_steal_pointer (&error)); return; } keys = parse_hkp_index (message->response_body->data); for (l = keys; l; l = g_list_next (l)) { g_object_set (l->data, "place", closure->source, NULL); gcr_simple_collection_add (closure->results, l->data); } g_list_free_full (keys, g_object_unref); g_task_return_boolean (task, TRUE); }
static void refresh_callback (SoupSession *session, SoupMessage *msg, SeahorseHKPOperation *hop) { GList *keys, *k; if (hop->cancelling) return; if (SOUP_MESSAGE_IS_ERROR (msg)) { fail_hkp_operation (hop, msg, NULL); return; } keys = parse_hkp_index (msg->response_body->data); for (k = keys; k; k = g_list_next (k)) add_key (hop->hsrc, SEAHORSE_PGP_KEY (k->data)); seahorse_object_list_free (keys); if (--hop->requests <= 0) seahorse_operation_mark_done (SEAHORSE_OPERATION (hop), FALSE, NULL); else seahorse_operation_mark_progress_full (SEAHORSE_OPERATION (hop), _("Searching for keys..."), hop->requests, hop->total); }