static gboolean pk_direct_refresh_force (PkDirectPrivate *priv, gchar **values, GError **error) { pk_backend_start_job (priv->backend, priv->job); pk_backend_refresh_cache (priv->backend, priv->job, TRUE); g_main_loop_run (priv->loop); pk_backend_stop_job (priv->backend, priv->job); return TRUE; }
static gboolean pk_direct_search_files (PkDirectPrivate *priv, gchar **values, GError **error) { if (g_strv_length (values) < 1) { g_set_error_literal (error, PK_ERROR, PK_ERROR_INVALID_ARGUMENTS, "Not enough arguments, expected: <search>"); return FALSE; } pk_backend_start_job (priv->backend, priv->job); pk_backend_search_files (priv->backend, priv->job, 0, values); g_main_loop_run (priv->loop); pk_backend_stop_job (priv->backend, priv->job); return TRUE; }
static gboolean pk_direct_repo_set_data (PkDirectPrivate *priv, gchar **values, GError **error) { if (g_strv_length (values) != 3) { g_set_error_literal (error, PK_ERROR, PK_ERROR_INVALID_ARGUMENTS, "Not enough arguments, " "expected: [id] [key] [value]"); return FALSE; } pk_backend_start_job (priv->backend, priv->job); pk_backend_repo_set_data (priv->backend, priv->job, values[0], values[1], values[2]); g_main_loop_run (priv->loop); pk_backend_stop_job (priv->backend, priv->job); return TRUE; }
static gboolean pk_direct_remove (PkDirectPrivate *priv, gchar **values, GError **error) { if (g_strv_length (values) < 1) { g_set_error_literal (error, PK_ERROR, PK_ERROR_INVALID_ARGUMENTS, "Not enough arguments, expected: <pkgid>"); return FALSE; } if (!pk_package_id_check (values[0])) { g_set_error (error, PK_ERROR, PK_ERROR_INVALID_ARGUMENTS, "Not a package-id: %s", values[0]); return FALSE; } pk_backend_start_job (priv->backend, priv->job); pk_backend_remove_packages (priv->backend, priv->job, 0, values, FALSE, FALSE); g_main_loop_run (priv->loop); pk_backend_stop_job (priv->backend, priv->job); return TRUE; }
/** * pk_backend_job_finalize: **/ static void pk_backend_job_finalize (GObject *object) { PkBackendJob *job; g_return_if_fail (object != NULL); g_return_if_fail (PK_IS_BACKEND_JOB (object)); g_return_if_fail (pk_is_thread_default ()); job = PK_BACKEND_JOB (object); if (pk_backend_job_get_started (job)) { g_warning ("finalized job without stopping it before"); pk_backend_stop_job (job->priv->backend, job); } g_free (job->priv->proxy_http); g_free (job->priv->proxy_https); g_free (job->priv->proxy_ftp); g_free (job->priv->proxy_socks); g_free (job->priv->no_proxy); g_free (job->priv->pac); g_free (job->priv->cmdline); g_free (job->priv->locale); g_free (job->priv->frontend_socket); if (job->priv->last_package != NULL) { g_object_unref (job->priv->last_package); job->priv->last_package = NULL; } if (job->priv->params != NULL) g_variant_unref (job->priv->params); g_timer_destroy (job->priv->timer); g_key_file_unref (job->priv->conf); g_object_unref (job->priv->cancellable); G_OBJECT_CLASS (pk_backend_job_parent_class)->finalize (object); }