[gnome-software] packagekit: Add support for download scheduling
- From: Richard Hughes <rhughes src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-software] packagekit: Add support for download scheduling
- Date: Wed, 17 Jul 2019 07:46:08 +0000 (UTC)
commit ddd6641934d8db7d268c0c0dcdec12317333e881
Author: Philip Withnall <withnall endlessm com>
Date: Thu Mar 21 17:31:11 2019 +0000
packagekit: Add support for download scheduling
Signed-off-by: Philip Withnall <withnall endlessm com>
plugins/packagekit/gs-plugin-packagekit-refresh.c | 18 +++++++++++++++---
plugins/packagekit/meson.build | 12 ++++++++++--
2 files changed, 25 insertions(+), 5 deletions(-)
---
diff --git a/plugins/packagekit/gs-plugin-packagekit-refresh.c
b/plugins/packagekit/gs-plugin-packagekit-refresh.c
index 283f144d..7805853c 100644
--- a/plugins/packagekit/gs-plugin-packagekit-refresh.c
+++ b/plugins/packagekit/gs-plugin-packagekit-refresh.c
@@ -11,6 +11,7 @@
#include <packagekit-glib2/packagekit.h>
#include <gnome-software.h>
+#include "gs-metered.h"
#include "gs-packagekit-helper.h"
#include "packagekit-common.h"
@@ -130,10 +131,21 @@ gs_plugin_download (GsPlugin *plugin,
gs_app_list_add (list_tmp, app_tmp);
}
}
- if (gs_app_list_length (list_tmp) > 0)
- return _download_only (plugin, list_tmp, cancellable, error);
- return TRUE;
+ if (gs_app_list_length (list_tmp) == 0)
+ return TRUE;
+
+ if (!gs_plugin_has_flags (plugin, GS_PLUGIN_FLAGS_INTERACTIVE)) {
+ g_autoptr(GError) error_local = NULL;
+
+ if (!gs_metered_block_app_list_on_download_scheduler (list_tmp, cancellable, &error_local)) {
+ g_warning ("Failed to block on download scheduler: %s",
+ error_local->message);
+ g_clear_error (&error_local);
+ }
+ }
+
+ return _download_only (plugin, list_tmp, cancellable, error);
}
gboolean
diff --git a/plugins/packagekit/meson.build b/plugins/packagekit/meson.build
index e737b40c..a295b1b1 100644
--- a/plugins/packagekit/meson.build
+++ b/plugins/packagekit/meson.build
@@ -1,5 +1,13 @@
cargs = ['-DG_LOG_DOMAIN="GsPluginPackageKit"']
cargs += ['-DLOCALPLUGINDIR="' + meson.current_build_dir() + '"']
+deps = [
+ plugin_libs,
+ packagekit,
+]
+
+if get_option('mogwai')
+ deps += [mogwai_schedule_client]
+endif
shared_module(
'gs_plugin_systemd-updates',
@@ -15,7 +23,7 @@ shared_module(
install : true,
install_dir: plugin_dir,
c_args : cargs,
- dependencies : [ plugin_libs, packagekit ],
+ dependencies : deps,
link_with : [
libgnomesoftware
]
@@ -35,7 +43,7 @@ shared_module(
install : true,
install_dir: plugin_dir,
c_args : cargs,
- dependencies : [ plugin_libs, packagekit ],
+ dependencies : deps,
link_with : [
libgnomesoftware
]
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]