static void pkg_sources_page_get_plugin_cb (PkConnection *connection, /* IN */ GAsyncResult *result, /* IN */ gpointer user_data) /* IN */ { PkgSourceCall *call = user_data; PkgSourcesPagePrivate *priv; PkgSourcesPage *page; GtkTreeIter iter; GError *error = NULL; gchar *plugin = NULL; g_return_if_fail(call != NULL); ENTRY; page = PKG_SOURCES_PAGE(call->user_data); priv = page->priv; if (!pk_connection_source_get_plugin_finish(connection, result, &plugin, &error)) { /* TODO: show error */ g_error_free(error); GOTO(cleanup); } if (!pkg_sources_page_get_source_iter(call->user_data, call->source, &iter)) { GOTO(cleanup); } gtk_list_store_set(priv->model, &iter, COLUMN_PLUGIN, plugin, -1); cleanup: g_free(plugin); g_object_unref(page); pkg_source_call_free(call); EXIT; }
static void pkg_channel_page_source_get_plugin_cb (GObject *object, /* IN */ GAsyncResult *result, /* IN */ gpointer user_data) /* IN */ { PkgChannelPagePrivate *priv; SourceCall *call = user_data; GError *error = NULL; gchar *plugin = NULL; GtkTreeModel *model; GtkTreeIter iter; gint id; g_return_if_fail(call != NULL); ENTRY; priv = call->page->priv; model = GTK_TREE_MODEL(priv->model); if (!pk_connection_source_get_plugin_finish(priv->connection, result, &plugin, &error)) { WARNING(Source, "Error retrieving source plugin: %s", error->message); g_error_free(error); GOTO(failed); } if (gtk_tree_model_get_iter_first(model, &iter)) { do { gtk_tree_model_get(model, &iter, COLUMN_ID, &id, -1); if (id == call->source) { gtk_list_store_set(priv->model, &iter, COLUMN_PLUGIN, plugin, -1); BREAK; } } while (gtk_tree_model_iter_next(model, &iter)); } failed: g_free(plugin); source_call_free(call); EXIT; }
static void pkg_window_connection_source_get_plugin_cb (GObject *object, /* IN */ GAsyncResult *result, /* IN */ gpointer user_data) /* IN */ { PkgWindowSourceCall *call = user_data; PkConnection *connection; PkgWindowPrivate *priv; gchar *plugin = NULL; GError *error = NULL; GtkTreeIter iter; GtkTreeIter child; g_return_if_fail(user_data != NULL); ENTRY; priv = call->window->priv; connection = PK_CONNECTION(object); if (!pk_connection_source_get_plugin_finish(connection, result, &plugin, &error)) { WARNING(Connection, "Error retrieving subscription created-at: %s", error->message); g_error_free(error); EXIT; } if (!pkg_window_get_sources_iter(call->window, connection, &iter)) { GOTO(iter_not_found); } if (!pkg_window_get_child_iter_with_id(call->window, connection, &iter, &child, call->source)) { GOTO(iter_not_found); } gtk_tree_store_set(priv->model, &child, COLUMN_SUBTITLE, plugin, -1); iter_not_found: pkg_window_source_call_free(call); g_free(plugin); EXIT; }