[gnome-software/wip/ubuntu-3-22] apt: Use GCancellable for transactions
- From: Robert Ancell <rancell src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-software/wip/ubuntu-3-22] apt: Use GCancellable for transactions
- Date: Thu, 13 Apr 2017 04:15:27 +0000 (UTC)
commit 1fc054afb44254220bc22fb5120c3b41bb20595a
Author: Robert Ancell <robert ancell canonical com>
Date: Thu Apr 13 16:14:48 2017 +1200
apt: Use GCancellable for transactions
src/plugins/gs-plugin-apt.cc | 21 +++++++++++----------
1 files changed, 11 insertions(+), 10 deletions(-)
---
diff --git a/src/plugins/gs-plugin-apt.cc b/src/plugins/gs-plugin-apt.cc
index 3b00317..d03b005 100644
--- a/src/plugins/gs-plugin-apt.cc
+++ b/src/plugins/gs-plugin-apt.cc
@@ -819,6 +819,7 @@ aptd_transaction (GsPlugin *plugin,
GsApp *app,
GList *apps,
GVariant *parameters,
+ GCancellable *cancellable,
GError **error)
{
g_autoptr(GDBusConnection) conn = NULL;
@@ -836,7 +837,7 @@ aptd_transaction (GsPlugin *plugin,
data.cond = cond;
data.finished = FALSE;
- conn = g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, error);
+ conn = g_bus_get_sync (G_BUS_TYPE_SYSTEM, cancellable, error);
if (conn == NULL)
return FALSE;
@@ -852,7 +853,7 @@ aptd_transaction (GsPlugin *plugin,
G_VARIANT_TYPE ("(s)"),
G_DBUS_CALL_FLAGS_NONE,
-1,
- NULL,
+ cancellable,
error);
if (result == NULL)
return FALSE;
@@ -898,7 +899,7 @@ aptd_transaction (GsPlugin *plugin,
G_VARIANT_TYPE ("()"),
G_DBUS_CALL_FLAGS_NONE,
-1,
- NULL,
+ cancellable,
error);
if (result) {
@@ -952,14 +953,14 @@ gs_plugin_app_install (GsPlugin *plugin,
case AS_APP_STATE_AVAILABLE:
case AS_APP_STATE_UPDATABLE:
gs_app_set_state (app, AS_APP_STATE_INSTALLING);
- success = aptd_transaction (plugin, "InstallPackages", app, NULL, NULL, error);
+ success = aptd_transaction (plugin, "InstallPackages", app, NULL, NULL, cancellable, error);
break;
case AS_APP_STATE_AVAILABLE_LOCAL:
filename = g_file_get_path (gs_app_get_local_file (app));
gs_app_set_state (app, AS_APP_STATE_INSTALLING);
success = aptd_transaction (plugin, "InstallFile", app, NULL,
g_variant_new_parsed ("(%s, true)", filename),
- error);
+ cancellable, error);
break;
default:
g_set_error (error,
@@ -992,7 +993,7 @@ gs_plugin_app_remove (GsPlugin *plugin,
return TRUE;
gs_app_set_state (app, AS_APP_STATE_REMOVING);
- if (aptd_transaction (plugin, "RemovePackages", app, NULL, NULL, error))
+ if (aptd_transaction (plugin, "RemovePackages", app, NULL, NULL, cancellable, error))
gs_app_set_state (app, AS_APP_STATE_AVAILABLE);
else {
gs_app_set_state (app, AS_APP_STATE_INSTALLED);
@@ -1012,7 +1013,7 @@ gs_plugin_refresh (GsPlugin *plugin,
if ((flags & GS_PLUGIN_REFRESH_FLAGS_METADATA) == 0)
return TRUE;
- if (!aptd_transaction (plugin, "UpdateCache", NULL, NULL, NULL, error))
+ if (!aptd_transaction (plugin, "UpdateCache", NULL, NULL, NULL, cancellable, error))
return FALSE;
unload_apt_db (plugin);
@@ -1100,7 +1101,7 @@ gs_plugin_update (GsPlugin *plugin,
NULL,
apps,
g_variant_new_parsed ("(false,)"),
- error)) {
+ cancellable, error)) {
set_list_state (apps, AS_APP_STATE_INSTALLED);
unload_apt_db (plugin);
@@ -1151,7 +1152,7 @@ gs_plugin_update_app (GsPlugin *plugin,
app,
NULL,
g_variant_builder_end (&builder),
- error)) {
+ cancellable, error)) {
gs_app_set_state (app, AS_APP_STATE_INSTALLED);
for (i = 0; i < apps->len; i++)
@@ -1173,7 +1174,7 @@ gs_plugin_update_app (GsPlugin *plugin,
} else if (app_is_ours (app)) {
gs_app_set_state (app, AS_APP_STATE_INSTALLING);
- if (aptd_transaction (plugin, "UpgradePackages", app, NULL, NULL, error)) {
+ if (aptd_transaction (plugin, "UpgradePackages", app, NULL, NULL, cancellable, error)) {
gs_app_set_state (app, AS_APP_STATE_INSTALLED);
unload_apt_db (plugin);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]