Example #1
0
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;
}
Example #2
0
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;
}
Example #3
0
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;
}
Example #4
0
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;
}
Example #5
0
/**
 * 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);
}