Example #1
0
/**
 * backend_cancel:
 */
static void
backend_cancel (PkBackend *backend)
{
	aptcc *m_apt = (aptcc*) pk_backend_get_pointer(backend, "aptcc_obj");
	if (m_apt) {
		m_apt->cancel();
	}
}
Example #2
0
static void
backend_search_thread (PkBackendJob *job, GVariant *params, gpointer user_data)
{
	SearchParams *params;

	params = pk_backend_get_pointer (backend, "search-params");

	opkg_list_packages (pk_opkg_package_list_cb, params);

	pk_backend_job_finished (params->backend);

	g_free (params->needle);
	g_free (params);
}
static gboolean
backend_remove_packages_thread (PkBackend *backend)
{
	gint err, i;
	gchar **package_ids;
	gchar **parts;
	gboolean allow_deps;
	gboolean autoremove;
	gpointer *data;

	data = pk_backend_get_pointer (backend, "remove-params");

	package_ids = (gchar**) data[0];
	allow_deps = GPOINTER_TO_INT (data[1]);
	autoremove = GPOINTER_TO_INT (data[2]);
	g_free (data);

	opkg_set_option ((char *)"autoremove", &autoremove);
	opkg_set_option ((char *)"force_removal_of_dependent_packages", &allow_deps);

	err = 0;

	for (i = 0; package_ids[i]; i++)
	{
		pk_backend_package (backend, PK_INFO_ENUM_REMOVING, package_ids[i], NULL);

		parts = pk_package_id_split (package_ids[i]);

		err = opkg_remove_package (parts[PK_PACKAGE_ID_NAME], pk_opkg_progress_cb, backend);

		switch (err)
		{
		//case OPKG_NO_ERROR:
		//	break;
		//case OPKG_PACKAGE_NOT_INSTALLED:
		//	pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_NOT_INSTALLED, NULL);
		//	break;
		default:
			opkg_unknown_error (backend, err, "Remove");
		}
		g_strfreev (parts);

		if (err != 0)
			break;
	}

	pk_backend_finished (backend);
	return (err == 0);
}
static gboolean
backend_search_thread (PkBackend *backend)
{
	SearchParams *params;

	params = pk_backend_get_pointer (backend, "search-params");

	opkg_list_packages (pk_opkg_package_list_cb, params);

	pk_backend_finished (params->backend);

	g_free (params->needle);
	g_free (params);

	return TRUE;
}