/** * backend_update_package: */ static gboolean backend_update_package_thread (PkBackend *backend) { gchar **parts; gint err = 0; const gchar *package_id; /* FIXME: support only_trusted */ package_id = pk_backend_get_string (backend, "pkgid"); parts = pk_package_id_split (package_id); if (!parts) { pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_NOT_FOUND, "Package not found"); pk_backend_finished (backend); return FALSE; } err = opkg_upgrade_package (parts[PK_PACKAGE_ID_NAME], pk_opkg_progress_cb, backend); if (err) handle_install_error (backend, err); g_strfreev (parts); pk_backend_finished (backend); return (err != 0); }
/** * backend_update_package: */ static void backend_update_package_thread (PkBackendJob *job, GVariant *params, gpointer user_data) { gchar **parts; gint err = 0; const gchar *package_id; /* FIXME: support only_trusted */ package_id = pk_backend_get_string (backend, "pkgid"); parts = pk_package_id_split (package_id); if (!parts) { pk_backend_job_error_code (job, PK_ERROR_ENUM_PACKAGE_NOT_FOUND, "Package not found"); pk_backend_job_finished (job); return FALSE; } err = opkg_upgrade_package (parts[PK_PACKAGE_ID_NAME], pk_opkg_progress_cb, backend); if (err) handle_install_error (backend, err); g_strfreev (parts); pk_backend_job_finished (job); }
static gboolean backend_install_packages_thread (PkBackend *backend) { gint err, i; gchar **package_ids; gchar **parts; package_ids = pk_backend_get_strv (backend, "pkids"); err = 0; for (i = 0; package_ids[i]; i++) { pk_backend_package (backend, PK_INFO_ENUM_INSTALLING, package_ids[i], NULL); parts = pk_package_id_split (package_ids[i]); err = opkg_install_package (parts[PK_PACKAGE_ID_NAME], pk_opkg_progress_cb, backend); if (err) handle_install_error (backend, err); g_strfreev (parts); if (err != 0) break; } pk_backend_finished (backend); return (err == 0); }
static void backend_install_packages_thread (PkBackendJob *job, GVariant *params, gpointer user_data) { gint err, i; gchar **package_ids; gchar **parts; package_ids = pk_backend_get_strv (backend, "pkids"); err = 0; for (i = 0; package_ids[i]; i++) { pk_backend_job_package (job, PK_INFO_ENUM_INSTALLING, package_ids[i], NULL); parts = pk_package_id_split (package_ids[i]); err = opkg_install_package (parts[PK_PACKAGE_ID_NAME], pk_opkg_progress_cb, backend); if (err) handle_install_error (backend, err); g_strfreev (parts); if (err != 0) break; } pk_backend_job_finished (job); }