[gnome-software/wip/kalev/unfinished-GsProgress-XXX: 5/5] Pass GsPluginJob to plugins



commit c457b391d1afc98a246a0e51ff10a607588fd5cc
Author: Kalev Lember <klember redhat com>
Date:   Tue Nov 12 22:16:49 2019 +0100

    Pass GsPluginJob to plugins

 lib/gs-plugin-loader.c                             | 56 ++++++++++++++--------
 lib/gs-plugin-vfuncs.h                             | 42 ++++++++++++++++
 plugins/core/gs-plugin-appstream.c                 | 12 +++++
 plugins/core/gs-plugin-desktop-categories.c        |  2 +
 plugins/core/gs-plugin-desktop-menu-path.c         |  1 +
 plugins/core/gs-plugin-generic-updates.c           |  1 +
 plugins/core/gs-plugin-hardcoded-blacklist.c       |  1 +
 plugins/core/gs-plugin-hardcoded-popular.c         |  1 +
 plugins/core/gs-plugin-icons.c                     |  1 +
 plugins/core/gs-plugin-key-colors-metadata.c       |  1 +
 plugins/core/gs-plugin-key-colors.c                |  1 +
 plugins/core/gs-plugin-os-release.c                |  1 +
 plugins/core/gs-plugin-provenance-license.c        |  1 +
 plugins/core/gs-plugin-provenance.c                |  1 +
 plugins/core/gs-plugin-rewrite-resource.c          |  1 +
 plugins/dpkg/gs-plugin-dpkg.c                      |  1 +
 plugins/dummy/gs-plugin-dummy.c                    | 32 +++++++++++--
 plugins/epiphany/gs-plugin-epiphany.c              | 10 +++-
 .../fedora-langpacks/gs-plugin-fedora-langpacks.c  |  1 +
 .../gs-plugin-fedora-pkgdb-collections.c           |  3 ++
 plugins/flatpak/gs-plugin-flatpak.c                | 22 ++++++++-
 plugins/fwupd/gs-plugin-fwupd.c                    | 12 ++++-
 plugins/modalias/gs-plugin-modalias.c              |  1 +
 plugins/odrs/gs-plugin-odrs.c                      |  9 ++++
 plugins/packagekit/gs-plugin-packagekit-history.c  |  1 +
 plugins/packagekit/gs-plugin-packagekit-local.c    |  1 +
 plugins/packagekit/gs-plugin-packagekit-offline.c  |  1 +
 .../packagekit/gs-plugin-packagekit-refine-repos.c |  1 +
 plugins/packagekit/gs-plugin-packagekit-refine.c   |  2 +
 plugins/packagekit/gs-plugin-packagekit-refresh.c  |  2 +
 plugins/packagekit/gs-plugin-packagekit-upgrade.c  |  1 +
 .../packagekit/gs-plugin-packagekit-url-to-app.c   |  1 +
 plugins/packagekit/gs-plugin-packagekit.c          |  7 +++
 plugins/packagekit/gs-plugin-systemd-updates.c     |  4 ++
 plugins/repos/gs-plugin-repos.c                    |  1 +
 .../shell-extensions/gs-plugin-shell-extensions.c  | 19 +++++++-
 36 files changed, 227 insertions(+), 28 deletions(-)
---
diff --git a/lib/gs-plugin-loader.c b/lib/gs-plugin-loader.c
index 31852065..7c283d24 100644
--- a/lib/gs-plugin-loader.c
+++ b/lib/gs-plugin-loader.c
@@ -90,79 +90,95 @@ typedef gboolean     (*GsPluginSetupFunc)           (GsPlugin       *plugin,
                                                         GCancellable   *cancellable,
                                                         GError         **error);
 typedef gboolean        (*GsPluginSearchFunc)          (GsPlugin       *plugin,
+                                                        GsPluginJob    *job,
                                                         gchar          **value,
                                                         GsAppList      *list,
                                                         GCancellable   *cancellable,
                                                         GError         **error);
 typedef gboolean        (*GsPluginAlternatesFunc)      (GsPlugin       *plugin,
+                                                        GsPluginJob    *job,
                                                         GsApp          *app,
                                                         GsAppList      *list,
                                                         GCancellable   *cancellable,
                                                         GError         **error);
 typedef gboolean        (*GsPluginCategoryFunc)        (GsPlugin       *plugin,
+                                                        GsPluginJob    *job,
                                                         GsCategory     *category,
                                                         GsAppList      *list,
                                                         GCancellable   *cancellable,
                                                         GError         **error);
 typedef gboolean        (*GsPluginGetRecentFunc)       (GsPlugin       *plugin,
+                                                        GsPluginJob    *job,
                                                         GsAppList      *list,
                                                         guint64         age,
                                                         GCancellable   *cancellable,
                                                         GError         **error);
 typedef gboolean        (*GsPluginResultsFunc)         (GsPlugin       *plugin,
+                                                        GsPluginJob    *job,
                                                         GsAppList      *list,
                                                         GCancellable   *cancellable,
                                                         GError         **error);
 typedef gboolean        (*GsPluginCategoriesFunc)      (GsPlugin       *plugin,
+                                                        GsPluginJob    *job,
                                                         GPtrArray      *list,
                                                         GCancellable   *cancellable,
                                                         GError         **error);
 typedef gboolean        (*GsPluginActionFunc)          (GsPlugin       *plugin,
+                                                        GsPluginJob    *job,
                                                         GsApp          *app,
                                                         GCancellable   *cancellable,
                                                         GError         **error);
 typedef gboolean        (*GsPluginReviewFunc)          (GsPlugin       *plugin,
+                                                        GsPluginJob    *job,
                                                         GsApp          *app,
                                                         AsReview       *review,
                                                         GCancellable   *cancellable,
                                                         GError         **error);
 typedef gboolean        (*GsPluginRefineFunc)          (GsPlugin       *plugin,
+                                                        GsPluginJob    *job,
                                                         GsAppList      *list,
                                                         GsPluginRefineFlags refine_flags,
                                                         GCancellable   *cancellable,
                                                         GError         **error);
 typedef gboolean        (*GsPluginRefineAppFunc)       (GsPlugin       *plugin,
+                                                        GsPluginJob    *job,
                                                         GsApp          *app,
                                                         GsPluginRefineFlags refine_flags,
                                                         GCancellable   *cancellable,
                                                         GError         **error);
 typedef gboolean        (*GsPluginRefineWildcardFunc)  (GsPlugin       *plugin,
+                                                        GsPluginJob    *job,
                                                         GsApp          *app,
                                                         GsAppList      *list,
                                                         GsPluginRefineFlags refine_flags,
                                                         GCancellable   *cancellable,
                                                         GError         **error);
 typedef gboolean        (*GsPluginRefreshFunc)         (GsPlugin       *plugin,
+                                                        GsPluginJob    *job,
                                                         guint           cache_age,
                                                         GCancellable   *cancellable,
                                                         GError         **error);
 typedef gboolean        (*GsPluginFileToAppFunc)       (GsPlugin       *plugin,
+                                                        GsPluginJob    *job,
                                                         GsAppList      *list,
                                                         GFile          *file,
                                                         GCancellable   *cancellable,
                                                         GError         **error);
 typedef gboolean        (*GsPluginUrlToAppFunc)        (GsPlugin       *plugin,
+                                                        GsPluginJob    *job,
                                                         GsAppList      *list,
                                                         const gchar    *url,
                                                         GCancellable   *cancellable,
                                                         GError         **error);
 typedef gboolean        (*GsPluginUpdateFunc)          (GsPlugin       *plugin,
+                                                        GsPluginJob    *job,
                                                         GsAppList      *apps,
                                                         GCancellable   *cancellable,
                                                         GError         **error);
 typedef void            (*GsPluginAdoptAppFunc)        (GsPlugin       *plugin,
                                                         GsApp          *app);
 typedef gboolean        (*GsPluginGetLangPacksFunc)    (GsPlugin       *plugin,
+                                                        GsPluginJob    *job,
                                                         GsAppList      *list,
                                                         const gchar    *locale,
                                                         GCancellable   *cancellable,
@@ -585,13 +601,13 @@ gs_plugin_loader_call_vfunc (GsPluginLoaderHelper *helper,
        case GS_PLUGIN_ACTION_REFINE:
                if (g_strcmp0 (helper->function_name, "gs_plugin_refine_wildcard") == 0) {
                        GsPluginRefineWildcardFunc plugin_func = func;
-                       ret = plugin_func (plugin, app, list, refine_flags, cancellable, &error_local);
+                       ret = plugin_func (plugin, helper->plugin_job, app, list, refine_flags, cancellable, 
&error_local);
                } else if (g_strcmp0 (helper->function_name, "gs_plugin_refine_app") == 0) {
                        GsPluginRefineAppFunc plugin_func = func;
-                       ret = plugin_func (plugin, app, refine_flags, cancellable, &error_local);
+                       ret = plugin_func (plugin, helper->plugin_job, app, refine_flags, cancellable, 
&error_local);
                } else if (g_strcmp0 (helper->function_name, "gs_plugin_refine") == 0) {
                        GsPluginRefineFunc plugin_func = func;
-                       ret = plugin_func (plugin, list, refine_flags, cancellable, &error_local);
+                       ret = plugin_func (plugin, helper->plugin_job, list, refine_flags, cancellable, 
&error_local);
                } else {
                        g_critical ("function_name %s invalid for %s",
                                    helper->function_name,
@@ -601,10 +617,10 @@ gs_plugin_loader_call_vfunc (GsPluginLoaderHelper *helper,
        case GS_PLUGIN_ACTION_UPDATE:
                if (g_strcmp0 (helper->function_name, "gs_plugin_update_app") == 0) {
                        GsPluginActionFunc plugin_func = func;
-                       ret = plugin_func (plugin, app, cancellable, &error_local);
+                       ret = plugin_func (plugin, helper->plugin_job, app, cancellable, &error_local);
                } else if (g_strcmp0 (helper->function_name, "gs_plugin_update") == 0) {
                        GsPluginUpdateFunc plugin_func = func;
-                       ret = plugin_func (plugin, list, cancellable, &error_local);
+                       ret = plugin_func (plugin, helper->plugin_job, list, cancellable, &error_local);
                } else {
                        g_critical ("function_name %s invalid for %s",
                                    helper->function_name,
@@ -614,10 +630,10 @@ gs_plugin_loader_call_vfunc (GsPluginLoaderHelper *helper,
        case GS_PLUGIN_ACTION_DOWNLOAD:
                if (g_strcmp0 (helper->function_name, "gs_plugin_download_app") == 0) {
                        GsPluginActionFunc plugin_func = func;
-                       ret = plugin_func (plugin, app, cancellable, &error_local);
+                       ret = plugin_func (plugin, helper->plugin_job, app, cancellable, &error_local);
                } else if (g_strcmp0 (helper->function_name, "gs_plugin_download") == 0) {
                        GsPluginUpdateFunc plugin_func = func;
-                       ret = plugin_func (plugin, list, cancellable, &error_local);
+                       ret = plugin_func (plugin, helper->plugin_job, list, cancellable, &error_local);
                } else {
                        g_critical ("function_name %s invalid for %s",
                                    helper->function_name,
@@ -635,7 +651,7 @@ gs_plugin_loader_call_vfunc (GsPluginLoaderHelper *helper,
        case GS_PLUGIN_ACTION_REMOVE_SHORTCUT:
                {
                        GsPluginActionFunc plugin_func = func;
-                       ret = plugin_func (plugin, app, cancellable, &error_local);
+                       ret = plugin_func (plugin, helper->plugin_job, app, cancellable, &error_local);
                }
                break;
        case GS_PLUGIN_ACTION_REVIEW_SUBMIT:
@@ -646,7 +662,7 @@ gs_plugin_loader_call_vfunc (GsPluginLoaderHelper *helper,
        case GS_PLUGIN_ACTION_REVIEW_DISMISS:
                {
                        GsPluginReviewFunc plugin_func = func;
-                       ret = plugin_func (plugin, app,
+                       ret = plugin_func (plugin, helper->plugin_job, app,
                                           gs_plugin_job_get_review (helper->plugin_job),
                                           cancellable, &error_local);
                }
@@ -654,7 +670,7 @@ gs_plugin_loader_call_vfunc (GsPluginLoaderHelper *helper,
        case GS_PLUGIN_ACTION_GET_RECENT:
                {
                        GsPluginGetRecentFunc plugin_func = func;
-                       ret = plugin_func (plugin, list,
+                       ret = plugin_func (plugin, helper->plugin_job, list,
                                           gs_plugin_job_get_age (helper->plugin_job),
                                           cancellable, &error_local);
                }
@@ -669,13 +685,13 @@ gs_plugin_loader_call_vfunc (GsPluginLoaderHelper *helper,
        case GS_PLUGIN_ACTION_GET_FEATURED:
                {
                        GsPluginResultsFunc plugin_func = func;
-                       ret = plugin_func (plugin, list, cancellable, &error_local);
+                       ret = plugin_func (plugin, helper->plugin_job, list, cancellable, &error_local);
                }
                break;
        case GS_PLUGIN_ACTION_SEARCH:
                {
                        GsPluginSearchFunc plugin_func = func;
-                       ret = plugin_func (plugin, helper->tokens, list,
+                       ret = plugin_func (plugin, helper->plugin_job, helper->tokens, list,
                                           cancellable, &error_local);
                }
                break;
@@ -684,21 +700,21 @@ gs_plugin_loader_call_vfunc (GsPluginLoaderHelper *helper,
                {
                        GsPluginSearchFunc plugin_func = func;
                        gchar *search[2] = { gs_plugin_job_get_search (helper->plugin_job), NULL };
-                       ret = plugin_func (plugin, search, list,
+                       ret = plugin_func (plugin, helper->plugin_job, search, list,
                                           cancellable, &error_local);
                }
                break;
        case GS_PLUGIN_ACTION_GET_ALTERNATES:
                {
                        GsPluginAlternatesFunc plugin_func = func;
-                       ret = plugin_func (plugin, app, list,
+                       ret = plugin_func (plugin, helper->plugin_job, app, list,
                                           cancellable, &error_local);
                }
                break;
        case GS_PLUGIN_ACTION_GET_CATEGORIES:
                {
                        GsPluginCategoriesFunc plugin_func = func;
-                       ret = plugin_func (plugin, helper->catlist,
+                       ret = plugin_func (plugin, helper->plugin_job, helper->catlist,
                                           cancellable, &error_local);
                }
                break;
@@ -706,6 +722,7 @@ gs_plugin_loader_call_vfunc (GsPluginLoaderHelper *helper,
                {
                        GsPluginCategoryFunc plugin_func = func;
                        ret = plugin_func (plugin,
+                                          helper->plugin_job,
                                           gs_plugin_job_get_category (helper->plugin_job),
                                           list,
                                           cancellable, &error_local);
@@ -715,6 +732,7 @@ gs_plugin_loader_call_vfunc (GsPluginLoaderHelper *helper,
                {
                        GsPluginRefreshFunc plugin_func = func;
                        ret = plugin_func (plugin,
+                                          helper->plugin_job,
                                           gs_plugin_job_get_age (helper->plugin_job),
                                           cancellable, &error_local);
                }
@@ -722,7 +740,7 @@ gs_plugin_loader_call_vfunc (GsPluginLoaderHelper *helper,
        case GS_PLUGIN_ACTION_FILE_TO_APP:
                {
                        GsPluginFileToAppFunc plugin_func = func;
-                       ret = plugin_func (plugin, list,
+                       ret = plugin_func (plugin, helper->plugin_job, list,
                                           gs_plugin_job_get_file (helper->plugin_job),
                                           cancellable, &error_local);
                }
@@ -730,7 +748,7 @@ gs_plugin_loader_call_vfunc (GsPluginLoaderHelper *helper,
        case GS_PLUGIN_ACTION_URL_TO_APP:
                {
                        GsPluginUrlToAppFunc plugin_func = func;
-                       ret = plugin_func (plugin, list,
+                       ret = plugin_func (plugin, helper->plugin_job, list,
                                           gs_plugin_job_get_search (helper->plugin_job),
                                           cancellable, &error_local);
                }
@@ -738,7 +756,7 @@ gs_plugin_loader_call_vfunc (GsPluginLoaderHelper *helper,
        case GS_PLUGIN_ACTION_GET_LANGPACKS:
                {
                        GsPluginGetLangPacksFunc plugin_func = func;
-                       ret = plugin_func (plugin, list,
+                       ret = plugin_func (plugin, helper->plugin_job, list,
                                           gs_plugin_job_get_search (helper->plugin_job),
                                           cancellable, &error_local);
                }
@@ -3024,7 +3042,7 @@ gs_plugin_loader_generic_update (GsPluginLoader *plugin_loader,
                                                                   g_object_unref);
 
                        gs_plugin_job_set_app (helper->plugin_job, app);
-                       ret = plugin_app_func (plugin, app, app_cancellable, &error_local);
+                       ret = plugin_app_func (plugin, helper->plugin_job, app, app_cancellable, 
&error_local);
                        g_cancellable_disconnect (cancellable, cancel_handler_id);
 
                        if (!ret) {
diff --git a/lib/gs-plugin-vfuncs.h b/lib/gs-plugin-vfuncs.h
index 4ae65e54..10979c58 100644
--- a/lib/gs-plugin-vfuncs.h
+++ b/lib/gs-plugin-vfuncs.h
@@ -24,6 +24,7 @@
 #include "gs-app.h"
 #include "gs-app-list.h"
 #include "gs-category.h"
+#include "gs-plugin-job.h"
 
 G_BEGIN_DECLS
 
@@ -82,6 +83,7 @@ void           gs_plugin_adopt_app                    (GsPlugin       *plugin,
  * Returns: %TRUE for success or if not relevant
  **/
 gboolean        gs_plugin_add_search                   (GsPlugin       *plugin,
+                                                        GsPluginJob    *job,
                                                         gchar          **values,
                                                         GsAppList      *list,
                                                         GCancellable   *cancellable,
@@ -103,6 +105,7 @@ gboolean     gs_plugin_add_search                   (GsPlugin       *plugin,
  * Returns: %TRUE for success or if not relevant
  **/
 gboolean        gs_plugin_add_search_files             (GsPlugin       *plugin,
+                                                        GsPluginJob    *job,
                                                         gchar          **values,
                                                         GsAppList      *list,
                                                         GCancellable   *cancellable,
@@ -124,6 +127,7 @@ gboolean     gs_plugin_add_search_files             (GsPlugin       *plugin,
  * Returns: %TRUE for success or if not relevant
  **/
 gboolean        gs_plugin_add_search_what_provides     (GsPlugin       *plugin,
+                                                        GsPluginJob    *job,
                                                         gchar          **values,
                                                         GsAppList      *list,
                                                         GCancellable   *cancellable,
@@ -145,6 +149,7 @@ gboolean     gs_plugin_add_search_what_provides     (GsPlugin       *plugin,
  * Returns: %TRUE for success or if not relevant
  **/
 gboolean        gs_plugin_add_alternates               (GsPlugin       *plugin,
+                                                        GsPluginJob    *job,
                                                         GsApp          *app,
                                                         GsAppList      *list,
                                                         GCancellable   *cancellable,
@@ -185,6 +190,7 @@ gboolean     gs_plugin_setup                        (GsPlugin       *plugin,
  * Returns: %TRUE for success or if not relevant
  **/
 gboolean        gs_plugin_add_installed                (GsPlugin       *plugin,
+                                                        GsPluginJob    *job,
                                                         GsAppList      *list,
                                                         GCancellable   *cancellable,
                                                         GError         **error);
@@ -206,6 +212,7 @@ gboolean     gs_plugin_add_installed                (GsPlugin       *plugin,
  * Returns: %TRUE for success or if not relevant
  **/
 gboolean        gs_plugin_add_updates                  (GsPlugin       *plugin,
+                                                        GsPluginJob    *job,
                                                         GsAppList      *list,
                                                         GCancellable   *cancellable,
                                                         GError         **error);
@@ -226,6 +233,7 @@ gboolean     gs_plugin_add_updates                  (GsPlugin       *plugin,
  * Returns: %TRUE for success or if not relevant
  **/
 gboolean        gs_plugin_add_distro_upgrades          (GsPlugin       *plugin,
+                                                        GsPluginJob    *job,
                                                         GsAppList      *list,
                                                         GCancellable   *cancellable,
                                                         GError         **error);
@@ -246,6 +254,7 @@ gboolean     gs_plugin_add_distro_upgrades          (GsPlugin       *plugin,
  * Returns: %TRUE for success or if not relevant
  **/
 gboolean        gs_plugin_add_sources                  (GsPlugin       *plugin,
+                                                        GsPluginJob    *job,
                                                         GsAppList      *list,
                                                         GCancellable   *cancellable,
                                                         GError         **error);
@@ -265,6 +274,7 @@ gboolean     gs_plugin_add_sources                  (GsPlugin       *plugin,
  * Returns: %TRUE for success or if not relevant
  **/
 gboolean        gs_plugin_add_updates_historical       (GsPlugin       *plugin,
+                                                        GsPluginJob    *job,
                                                         GsAppList      *list,
                                                         GCancellable   *cancellable,
                                                         GError         **error);
@@ -283,6 +293,7 @@ gboolean     gs_plugin_add_updates_historical       (GsPlugin       *plugin,
  * Returns: %TRUE for success or if not relevant
  **/
 gboolean        gs_plugin_add_categories               (GsPlugin       *plugin,
+                                                        GsPluginJob    *job,
                                                         GPtrArray      *list,
                                                         GCancellable   *cancellable,
                                                         GError         **error);
@@ -302,6 +313,7 @@ gboolean     gs_plugin_add_categories               (GsPlugin       *plugin,
  * Returns: %TRUE for success or if not relevant
  **/
 gboolean        gs_plugin_add_category_apps            (GsPlugin       *plugin,
+                                                        GsPluginJob    *job,
                                                         GsCategory     *category,
                                                         GsAppList      *list,
                                                         GCancellable   *cancellable,
@@ -322,6 +334,7 @@ gboolean     gs_plugin_add_category_apps            (GsPlugin       *plugin,
  * Returns: %TRUE for success or if not relevant
  **/
 gboolean        gs_plugin_add_recent                   (GsPlugin       *plugin,
+                                                        GsPluginJob    *job,
                                                         GsAppList      *list,
                                                         guint64         age,
                                                         GCancellable   *cancellable,
@@ -349,6 +362,7 @@ gboolean     gs_plugin_add_recent                   (GsPlugin       *plugin,
  * Returns: %TRUE for success or if not relevant
  **/
 gboolean        gs_plugin_add_popular                  (GsPlugin       *plugin,
+                                                        GsPluginJob    *job,
                                                         GsAppList      *list,
                                                         GCancellable   *cancellable,
                                                         GError         **error);
@@ -376,6 +390,7 @@ gboolean     gs_plugin_add_popular                  (GsPlugin       *plugin,
  * Returns: %TRUE for success or if not relevant
  **/
 gboolean        gs_plugin_add_featured                 (GsPlugin       *plugin,
+                                                        GsPluginJob    *job,
                                                         GsAppList      *list,
                                                         GCancellable   *cancellable,
                                                         GError         **error);
@@ -397,6 +412,7 @@ gboolean     gs_plugin_add_featured                 (GsPlugin       *plugin,
  * Returns: %TRUE for success or if not relevant
  **/
 gboolean        gs_plugin_add_unvoted_reviews          (GsPlugin       *plugin,
+                                                        GsPluginJob    *job,
                                                         GsAppList      *list,
                                                         GCancellable   *cancellable,
                                                         GError         **error);
@@ -420,6 +436,7 @@ gboolean     gs_plugin_add_unvoted_reviews          (GsPlugin       *plugin,
  * Returns: %TRUE for success or if not relevant
  **/
 gboolean        gs_plugin_refine                       (GsPlugin       *plugin,
+                                                        GsPluginJob    *job,
                                                         GsAppList      *list,
                                                         GsPluginRefineFlags flags,
                                                         GCancellable   *cancellable,
@@ -448,6 +465,7 @@ gboolean     gs_plugin_refine                       (GsPlugin       *plugin,
  * Returns: %TRUE for success or if not relevant
  **/
 gboolean        gs_plugin_refine_app                   (GsPlugin       *plugin,
+                                                        GsPluginJob    *job,
                                                         GsApp          *app,
                                                         GsPluginRefineFlags flags,
                                                         GCancellable   *cancellable,
@@ -471,6 +489,7 @@ gboolean     gs_plugin_refine_app                   (GsPlugin       *plugin,
  * Returns: %TRUE for success or if not relevant
  **/
 gboolean        gs_plugin_refine_wildcard              (GsPlugin       *plugin,
+                                                        GsPluginJob    *job,
                                                         GsApp          *app,
                                                         GsAppList      *list,
                                                         GsPluginRefineFlags flags,
@@ -493,6 +512,7 @@ gboolean     gs_plugin_refine_wildcard              (GsPlugin       *plugin,
  * Returns: %TRUE for success or if not relevant
  **/
 gboolean        gs_plugin_launch                       (GsPlugin       *plugin,
+                                                        GsPluginJob    *job,
                                                         GsApp          *app,
                                                         GCancellable   *cancellable,
                                                         GError         **error);
@@ -509,6 +529,7 @@ gboolean     gs_plugin_launch                       (GsPlugin       *plugin,
  * Returns: %TRUE for success or if not relevant
  **/
 gboolean        gs_plugin_add_shortcut                 (GsPlugin       *plugin,
+                                                        GsPluginJob    *job,
                                                         GsApp          *app,
                                                         GCancellable   *cancellable,
                                                         GError         **error);
@@ -525,6 +546,7 @@ gboolean     gs_plugin_add_shortcut                 (GsPlugin       *plugin,
  * Returns: %TRUE for success or if not relevant
  **/
 gboolean        gs_plugin_remove_shortcut              (GsPlugin       *plugin,
+                                                        GsPluginJob    *job,
                                                         GsApp          *app,
                                                         GCancellable   *cancellable,
                                                         GError         **error);
@@ -541,6 +563,7 @@ gboolean     gs_plugin_remove_shortcut              (GsPlugin       *plugin,
  * Returns: %TRUE for success or if not relevant
  **/
 gboolean        gs_plugin_update_cancel                (GsPlugin       *plugin,
+                                                        GsPluginJob    *job,
                                                         GsApp          *app,
                                                         GCancellable   *cancellable,
                                                         GError         **error);
@@ -570,6 +593,7 @@ gboolean     gs_plugin_update_cancel                (GsPlugin       *plugin,
  * Returns: %TRUE for success or if not relevant
  **/
 gboolean        gs_plugin_app_install                  (GsPlugin       *plugin,
+                                                        GsPluginJob    *job,
                                                         GsApp          *app,
                                                         GCancellable   *cancellable,
                                                         GError         **error);
@@ -599,6 +623,7 @@ gboolean     gs_plugin_app_install                  (GsPlugin       *plugin,
  * Returns: %TRUE for success or if not relevant
  **/
 gboolean        gs_plugin_app_remove                   (GsPlugin       *plugin,
+                                                        GsPluginJob    *job,
                                                         GsApp          *app,
                                                         GCancellable   *cancellable,
                                                         GError         **error);
@@ -617,6 +642,7 @@ gboolean     gs_plugin_app_remove                   (GsPlugin       *plugin,
  * Returns: %TRUE for success or if not relevant
  **/
 gboolean        gs_plugin_app_set_rating               (GsPlugin       *plugin,
+                                                        GsPluginJob    *job,
                                                         GsApp          *app,
                                                         GCancellable   *cancellable,
                                                         GError         **error);
@@ -650,6 +676,7 @@ gboolean     gs_plugin_app_set_rating               (GsPlugin       *plugin,
  * Returns: %TRUE for success or if not relevant
  **/
 gboolean        gs_plugin_update_app                   (GsPlugin       *plugin,
+                                                        GsPluginJob    *job,
                                                         GsApp          *app,
                                                         GCancellable   *cancellable,
                                                         GError         **error);
@@ -684,6 +711,7 @@ gboolean     gs_plugin_update_app                   (GsPlugin       *plugin,
  * Returns: %TRUE for success or if not relevant
  **/
 gboolean        gs_plugin_download_app                 (GsPlugin       *plugin,
+                                                        GsPluginJob    *job,
                                                         GsApp          *app,
                                                         GCancellable   *cancellable,
                                                         GError         **error);
@@ -705,6 +733,7 @@ gboolean     gs_plugin_download_app                 (GsPlugin       *plugin,
  * Returns: %TRUE for success or if not relevant
  **/
 gboolean        gs_plugin_download                     (GsPlugin       *plugin,
+                                                        GsPluginJob    *job,
                                                         GsAppList      *apps,
                                                         GCancellable   *cancellable,
                                                         GError         **error);
@@ -725,6 +754,7 @@ gboolean     gs_plugin_download                     (GsPlugin       *plugin,
  * Returns: %TRUE for success or if not relevant
  **/
 gboolean        gs_plugin_app_upgrade_download         (GsPlugin       *plugin,
+                                                        GsPluginJob    *job,
                                                         GsApp          *app,
                                                         GCancellable   *cancellable,
                                                         GError         **error);
@@ -741,6 +771,7 @@ gboolean     gs_plugin_app_upgrade_download         (GsPlugin       *plugin,
  * Returns: %TRUE for success or if not relevant
  **/
 gboolean        gs_plugin_app_upgrade_trigger          (GsPlugin       *plugin,
+                                                        GsPluginJob    *job,
                                                         GsApp          *app,
                                                         GCancellable   *cancellable,
                                                         GError         **error);
@@ -758,6 +789,7 @@ gboolean     gs_plugin_app_upgrade_trigger          (GsPlugin       *plugin,
  * Returns: %TRUE for success or if not relevant
  **/
 gboolean        gs_plugin_review_submit                (GsPlugin       *plugin,
+                                                        GsPluginJob    *job,
                                                         GsApp          *app,
                                                         AsReview       *review,
                                                         GCancellable   *cancellable,
@@ -776,6 +808,7 @@ gboolean     gs_plugin_review_submit                (GsPlugin       *plugin,
  * Returns: %TRUE for success or if not relevant
  **/
 gboolean        gs_plugin_review_upvote                (GsPlugin       *plugin,
+                                                        GsPluginJob    *job,
                                                         GsApp          *app,
                                                         AsReview       *review,
                                                         GCancellable   *cancellable,
@@ -796,6 +829,7 @@ gboolean     gs_plugin_review_upvote                (GsPlugin       *plugin,
  * Returns: %TRUE for success or if not relevant
  **/
 gboolean        gs_plugin_review_downvote              (GsPlugin       *plugin,
+                                                        GsPluginJob    *job,
                                                         GsApp          *app,
                                                         AsReview       *review,
                                                         GCancellable   *cancellable,
@@ -816,6 +850,7 @@ gboolean     gs_plugin_review_downvote              (GsPlugin       *plugin,
  * Returns: %TRUE for success or if not relevant
  **/
 gboolean        gs_plugin_review_report                (GsPlugin       *plugin,
+                                                        GsPluginJob    *job,
                                                         GsApp          *app,
                                                         AsReview       *review,
                                                         GCancellable   *cancellable,
@@ -835,6 +870,7 @@ gboolean     gs_plugin_review_report                (GsPlugin       *plugin,
  * Returns: %TRUE for success or if not relevant
  **/
 gboolean        gs_plugin_review_remove                (GsPlugin       *plugin,
+                                                        GsPluginJob    *job,
                                                         GsApp          *app,
                                                         AsReview       *review,
                                                         GCancellable   *cancellable,
@@ -855,6 +891,7 @@ gboolean     gs_plugin_review_remove                (GsPlugin       *plugin,
  * Returns: %TRUE for success or if not relevant
  **/
 gboolean        gs_plugin_review_dismiss               (GsPlugin       *plugin,
+                                                        GsPluginJob    *job,
                                                         GsApp          *app,
                                                         AsReview       *review,
                                                         GCancellable   *cancellable,
@@ -878,6 +915,7 @@ gboolean     gs_plugin_review_dismiss               (GsPlugin       *plugin,
  * Returns: %TRUE for success or if not relevant
  **/
 gboolean        gs_plugin_refresh                      (GsPlugin       *plugin,
+                                                        GsPluginJob    *job,
                                                         guint           cache_age,
                                                         GCancellable   *cancellable,
                                                         GError         **error);
@@ -904,6 +942,7 @@ gboolean     gs_plugin_refresh                      (GsPlugin       *plugin,
  * Returns: %TRUE for success or if not relevant
  **/
 gboolean        gs_plugin_file_to_app                  (GsPlugin       *plugin,
+                                                        GsPluginJob    *job,
                                                         GsAppList      *list,
                                                         GFile          *file,
                                                         GCancellable   *cancellable,
@@ -928,6 +967,7 @@ gboolean     gs_plugin_file_to_app                  (GsPlugin       *plugin,
  * Returns: %TRUE for success or if not relevant
  **/
 gboolean        gs_plugin_url_to_app                   (GsPlugin       *plugin,
+                                                        GsPluginJob    *job,
                                                         GsAppList      *list,
                                                         const gchar    *url,
                                                         GCancellable   *cancellable,
@@ -945,6 +985,7 @@ gboolean     gs_plugin_url_to_app                   (GsPlugin       *plugin,
  * Returns: %TRUE for success or if not relevant
  **/
 gboolean        gs_plugin_update                       (GsPlugin       *plugin,
+                                                        GsPluginJob    *job,
                                                         GsAppList      *apps,
                                                         GCancellable   *cancellable,
                                                         GError         **error);
@@ -962,6 +1003,7 @@ gboolean    gs_plugin_update                       (GsPlugin       *plugin,
  * Returns: %TRUE for success or if not relevant
  **/
 gboolean        gs_plugin_add_langpacks                (GsPlugin       *plugin,
+                                                        GsPluginJob    *job,
                                                         GsAppList      *list,
                                                         const gchar    *locale,
                                                         GCancellable   *cancellable,
diff --git a/plugins/core/gs-plugin-appstream.c b/plugins/core/gs-plugin-appstream.c
index 4d8ba517..21a03ed3 100644
--- a/plugins/core/gs-plugin-appstream.c
+++ b/plugins/core/gs-plugin-appstream.c
@@ -573,6 +573,7 @@ gs_plugin_setup (GsPlugin *plugin, GCancellable *cancellable, GError **error)
 
 gboolean
 gs_plugin_url_to_app (GsPlugin *plugin,
+                     GsPluginJob *job,
                      GsAppList *list,
                      const gchar *url,
                      GCancellable *cancellable,
@@ -782,6 +783,7 @@ gs_plugin_refine_from_pkgname (GsPlugin *plugin,
 
 gboolean
 gs_plugin_refine_app (GsPlugin *plugin,
+                     GsPluginJob *job,
                      GsApp *app,
                      GsPluginRefineFlags flags,
                      GCancellable *cancellable,
@@ -812,6 +814,7 @@ gs_plugin_refine_app (GsPlugin *plugin,
 
 gboolean
 gs_plugin_refine_wildcard (GsPlugin *plugin,
+                          GsPluginJob *job,
                           GsApp *app,
                           GsAppList *list,
                           GsPluginRefineFlags refine_flags,
@@ -869,6 +872,7 @@ gs_plugin_refine_wildcard (GsPlugin *plugin,
 
 gboolean
 gs_plugin_add_category_apps (GsPlugin *plugin,
+                            GsPluginJob *job,
                             GsCategory *category,
                             GsAppList *list,
                             GCancellable *cancellable,
@@ -891,6 +895,7 @@ gs_plugin_add_category_apps (GsPlugin *plugin,
 
 gboolean
 gs_plugin_add_search (GsPlugin *plugin,
+                     GsPluginJob *job,
                      gchar **values,
                      GsAppList *list,
                      GCancellable *cancellable,
@@ -913,6 +918,7 @@ gs_plugin_add_search (GsPlugin *plugin,
 
 gboolean
 gs_plugin_add_installed (GsPlugin *plugin,
+                        GsPluginJob *job,
                         GsAppList *list,
                         GCancellable *cancellable,
                         GError **error)
@@ -945,6 +951,7 @@ gs_plugin_add_installed (GsPlugin *plugin,
 
 gboolean
 gs_plugin_add_categories (GsPlugin *plugin,
+                         GsPluginJob *job,
                          GPtrArray *list,
                          GCancellable *cancellable,
                          GError **error)
@@ -962,6 +969,7 @@ gs_plugin_add_categories (GsPlugin *plugin,
 
 gboolean
 gs_plugin_add_popular (GsPlugin *plugin,
+                      GsPluginJob *job,
                       GsAppList *list,
                       GCancellable *cancellable,
                       GError **error)
@@ -978,6 +986,7 @@ gs_plugin_add_popular (GsPlugin *plugin,
 
 gboolean
 gs_plugin_add_featured (GsPlugin *plugin,
+                       GsPluginJob *job,
                        GsAppList *list,
                        GCancellable *cancellable,
                        GError **error)
@@ -994,6 +1003,7 @@ gs_plugin_add_featured (GsPlugin *plugin,
 
 gboolean
 gs_plugin_add_recent (GsPlugin *plugin,
+                     GsPluginJob *job,
                      GsAppList *list,
                      guint64 age,
                      GCancellable *cancellable,
@@ -1012,6 +1022,7 @@ gs_plugin_add_recent (GsPlugin *plugin,
 
 gboolean
 gs_plugin_add_alternates (GsPlugin *plugin,
+                         GsPluginJob *job,
                          GsApp *app,
                          GsAppList *list,
                          GCancellable *cancellable,
@@ -1030,6 +1041,7 @@ gs_plugin_add_alternates (GsPlugin *plugin,
 
 gboolean
 gs_plugin_refresh (GsPlugin *plugin,
+                  GsPluginJob *job,
                   guint cache_age,
                   GCancellable *cancellable,
                   GError **error)
diff --git a/plugins/core/gs-plugin-desktop-categories.c b/plugins/core/gs-plugin-desktop-categories.c
index d6a1686b..031e4221 100644
--- a/plugins/core/gs-plugin-desktop-categories.c
+++ b/plugins/core/gs-plugin-desktop-categories.c
@@ -28,6 +28,7 @@ gs_plugin_initialize (GsPlugin *plugin)
 
 gboolean
 gs_plugin_add_categories (GsPlugin *plugin,
+                         GsPluginJob *job,
                          GPtrArray *list,
                          GCancellable *cancellable,
                          GError **error)
@@ -71,6 +72,7 @@ gs_plugin_add_categories (GsPlugin *plugin,
  * overview page or `gnome-software-cmd get-category-apps games/featured` */
 gboolean
 gs_plugin_add_category_apps (GsPlugin *plugin,
+                            GsPluginJob *job,
                             GsCategory *category,
                             GsAppList *list,
                             GCancellable *cancellable,
diff --git a/plugins/core/gs-plugin-desktop-menu-path.c b/plugins/core/gs-plugin-desktop-menu-path.c
index a3e8806b..52870b63 100644
--- a/plugins/core/gs-plugin-desktop-menu-path.c
+++ b/plugins/core/gs-plugin-desktop-menu-path.c
@@ -42,6 +42,7 @@ _gs_app_has_desktop_group (GsApp *app, const gchar *desktop_group)
 /* adds the menu-path for applications */
 gboolean
 gs_plugin_refine_app (GsPlugin *plugin,
+                     GsPluginJob *job,
                      GsApp *app,
                      GsPluginRefineFlags flags,
                      GCancellable *cancellable,
diff --git a/plugins/core/gs-plugin-generic-updates.c b/plugins/core/gs-plugin-generic-updates.c
index 9512a7ec..bc3c4777 100644
--- a/plugins/core/gs-plugin-generic-updates.c
+++ b/plugins/core/gs-plugin-generic-updates.c
@@ -70,6 +70,7 @@ gs_plugin_generic_updates_get_os_update (GsPlugin *plugin)
 
 gboolean
 gs_plugin_refine (GsPlugin *plugin,
+                 GsPluginJob *job,
                  GsAppList *list,
                  GsPluginRefineFlags flags,
                  GCancellable *cancellable,
diff --git a/plugins/core/gs-plugin-hardcoded-blacklist.c b/plugins/core/gs-plugin-hardcoded-blacklist.c
index b041b314..ced887bc 100644
--- a/plugins/core/gs-plugin-hardcoded-blacklist.c
+++ b/plugins/core/gs-plugin-hardcoded-blacklist.c
@@ -24,6 +24,7 @@ gs_plugin_initialize (GsPlugin *plugin)
 
 gboolean
 gs_plugin_refine_app (GsPlugin *plugin,
+                     GsPluginJob *job,
                      GsApp *app,
                      GsPluginRefineFlags flags,
                      GCancellable *cancellable,
diff --git a/plugins/core/gs-plugin-hardcoded-popular.c b/plugins/core/gs-plugin-hardcoded-popular.c
index 3998a813..d05dc6ee 100644
--- a/plugins/core/gs-plugin-hardcoded-popular.c
+++ b/plugins/core/gs-plugin-hardcoded-popular.c
@@ -18,6 +18,7 @@ gs_plugin_initialize (GsPlugin *plugin)
 
 gboolean
 gs_plugin_add_popular (GsPlugin *plugin,
+                      GsPluginJob *job,
                       GsAppList *list,
                       GCancellable *cancellable,
                       GError **error)
diff --git a/plugins/core/gs-plugin-icons.c b/plugins/core/gs-plugin-icons.c
index a9b76721..649bd64a 100644
--- a/plugins/core/gs-plugin-icons.c
+++ b/plugins/core/gs-plugin-icons.c
@@ -254,6 +254,7 @@ gs_plugin_icons_load_cached (GsPlugin *plugin, AsIcon *icon, GError **error)
 
 gboolean
 gs_plugin_refine_app (GsPlugin *plugin,
+                     GsPluginJob *job,
                      GsApp *app,
                      GsPluginRefineFlags flags,
                      GCancellable *cancellable,
diff --git a/plugins/core/gs-plugin-key-colors-metadata.c b/plugins/core/gs-plugin-key-colors-metadata.c
index 93fa9844..82c677b0 100644
--- a/plugins/core/gs-plugin-key-colors-metadata.c
+++ b/plugins/core/gs-plugin-key-colors-metadata.c
@@ -17,6 +17,7 @@ gs_plugin_initialize (GsPlugin *plugin)
 
 gboolean
 gs_plugin_refine_app (GsPlugin *plugin,
+                     GsPluginJob *job,
                      GsApp *app,
                      GsPluginRefineFlags flags,
                      GCancellable *cancellable,
diff --git a/plugins/core/gs-plugin-key-colors.c b/plugins/core/gs-plugin-key-colors.c
index feedfb1d..aba1388d 100644
--- a/plugins/core/gs-plugin-key-colors.c
+++ b/plugins/core/gs-plugin-key-colors.c
@@ -141,6 +141,7 @@ gs_plugin_key_colors_set_for_pixbuf (GsApp *app, GdkPixbuf *pb, guint number)
 
 gboolean
 gs_plugin_refine_app (GsPlugin *plugin,
+                     GsPluginJob *job,
                      GsApp *app,
                      GsPluginRefineFlags flags,
                      GCancellable *cancellable,
diff --git a/plugins/core/gs-plugin-os-release.c b/plugins/core/gs-plugin-os-release.c
index 2bbb2f28..8cd739e5 100644
--- a/plugins/core/gs-plugin-os-release.c
+++ b/plugins/core/gs-plugin-os-release.c
@@ -85,6 +85,7 @@ gs_plugin_setup (GsPlugin *plugin, GCancellable *cancellable, GError **error)
 
 gboolean
 gs_plugin_refine_wildcard (GsPlugin *plugin,
+                          GsPluginJob *job,
                           GsApp *app,
                           GsAppList *list,
                           GsPluginRefineFlags flags,
diff --git a/plugins/core/gs-plugin-provenance-license.c b/plugins/core/gs-plugin-provenance-license.c
index 2bf7dfc4..0be1e4eb 100644
--- a/plugins/core/gs-plugin-provenance-license.c
+++ b/plugins/core/gs-plugin-provenance-license.c
@@ -97,6 +97,7 @@ gs_plugin_destroy (GsPlugin *plugin)
 
 gboolean
 gs_plugin_refine_app (GsPlugin *plugin,
+                     GsPluginJob *job,
                      GsApp *app,
                      GsPluginRefineFlags flags,
                      GCancellable *cancellable,
diff --git a/plugins/core/gs-plugin-provenance.c b/plugins/core/gs-plugin-provenance.c
index 06cb5eb0..0b8ce0bc 100644
--- a/plugins/core/gs-plugin-provenance.c
+++ b/plugins/core/gs-plugin-provenance.c
@@ -71,6 +71,7 @@ gs_plugin_destroy (GsPlugin *plugin)
 
 gboolean
 gs_plugin_refine_app (GsPlugin *plugin,
+                     GsPluginJob *job,
                      GsApp *app,
                      GsPluginRefineFlags flags,
                      GCancellable *cancellable,
diff --git a/plugins/core/gs-plugin-rewrite-resource.c b/plugins/core/gs-plugin-rewrite-resource.c
index cf66b746..2ebb6fc6 100644
--- a/plugins/core/gs-plugin-rewrite-resource.c
+++ b/plugins/core/gs-plugin-rewrite-resource.c
@@ -19,6 +19,7 @@ gs_plugin_initialize (GsPlugin *plugin)
 
 gboolean
 gs_plugin_refine_app (GsPlugin *plugin,
+                     GsPluginJob *job,
                      GsApp *app,
                      GsPluginRefineFlags flags,
                      GCancellable *cancellable,
diff --git a/plugins/dpkg/gs-plugin-dpkg.c b/plugins/dpkg/gs-plugin-dpkg.c
index a90c838a..9c6ece9b 100644
--- a/plugins/dpkg/gs-plugin-dpkg.c
+++ b/plugins/dpkg/gs-plugin-dpkg.c
@@ -24,6 +24,7 @@ gs_plugin_initialize (GsPlugin *plugin)
 
 gboolean
 gs_plugin_file_to_app (GsPlugin *plugin,
+                      GsPluginJob *job,
                       GsAppList *list,
                       GFile *file,
                       GCancellable *cancellable,
diff --git a/plugins/dummy/gs-plugin-dummy.c b/plugins/dummy/gs-plugin-dummy.c
index 0d8d53cb..d5e8fe00 100644
--- a/plugins/dummy/gs-plugin-dummy.c
+++ b/plugins/dummy/gs-plugin-dummy.c
@@ -170,6 +170,7 @@ gs_plugin_dummy_poll_cb (gpointer user_data)
 
 gboolean
 gs_plugin_url_to_app (GsPlugin *plugin,
+                     GsPluginJob *job,
                      GsAppList *list,
                      const gchar *url,
                      GCancellable *cancellable,
@@ -254,6 +255,7 @@ gs_plugin_dummy_timeout_add (guint timeout_ms, GCancellable *cancellable)
 
 gboolean
 gs_plugin_add_alternates (GsPlugin *plugin,
+                         GsPluginJob *job,
                          GsApp *app,
                          GsAppList *list,
                          GCancellable *cancellable,
@@ -268,6 +270,7 @@ gs_plugin_add_alternates (GsPlugin *plugin,
 
 gboolean
 gs_plugin_add_search (GsPlugin *plugin,
+                     GsPluginJob *job,
                      gchar **values,
                      GsAppList *list,
                      GCancellable *cancellable,
@@ -330,6 +333,7 @@ gs_plugin_add_search (GsPlugin *plugin,
 
 gboolean
 gs_plugin_add_updates (GsPlugin *plugin,
+                      GsPluginJob *job,
                       GsAppList *list,
                       GCancellable *cancellable,
                       GError **error)
@@ -434,6 +438,7 @@ gs_plugin_add_updates (GsPlugin *plugin,
 
 gboolean
 gs_plugin_add_installed (GsPlugin *plugin,
+                        GsPluginJob *job,
                         GsAppList *list,
                         GCancellable *cancellable,
                         GError **error)
@@ -467,6 +472,7 @@ gs_plugin_add_installed (GsPlugin *plugin,
 
 gboolean
 gs_plugin_add_popular (GsPlugin *plugin,
+                      GsPluginJob *job,
                       GsAppList *list,
                       GCancellable *cancellable,
                       GError **error)
@@ -493,6 +499,7 @@ gs_plugin_add_popular (GsPlugin *plugin,
 
 gboolean
 gs_plugin_app_remove (GsPlugin *plugin,
+                     GsPluginJob *job,
                      GsApp *app,
                      GCancellable *cancellable,
                      GError **error)
@@ -524,6 +531,7 @@ gs_plugin_app_remove (GsPlugin *plugin,
 
 gboolean
 gs_plugin_app_install (GsPlugin *plugin,
+                      GsPluginJob *job,
                       GsApp *app,
                       GCancellable *cancellable,
                       GError **error)
@@ -557,6 +565,7 @@ gs_plugin_app_install (GsPlugin *plugin,
 
 gboolean
 gs_plugin_update_app (GsPlugin *plugin,
+                     GsPluginJob *job,
                      GsApp *app,
                      GCancellable *cancellable,
                      GError **error)
@@ -591,6 +600,7 @@ gs_plugin_update_app (GsPlugin *plugin,
 
 gboolean
 gs_plugin_refine_app (GsPlugin *plugin,
+                     GsPluginJob *job,
                      GsApp *app,
                      GsPluginRefineFlags flags,
                      GCancellable *cancellable,
@@ -714,6 +724,7 @@ gs_plugin_refine_app (GsPlugin *plugin,
 
 gboolean
 gs_plugin_add_category_apps (GsPlugin *plugin,
+                            GsPluginJob *job,
                             GsCategory *category,
                             GsAppList *list,
                             GCancellable *cancellable,
@@ -734,6 +745,7 @@ gs_plugin_add_category_apps (GsPlugin *plugin,
 
 gboolean
 gs_plugin_add_recent (GsPlugin *plugin,
+                     GsPluginJob *job,
                      GsAppList *list,
                      guint64 age,
                      GCancellable *cancellable,
@@ -754,6 +766,7 @@ gs_plugin_add_recent (GsPlugin *plugin,
 
 gboolean
 gs_plugin_add_distro_upgrades (GsPlugin *plugin,
+                              GsPluginJob *job,
                               GsAppList *list,
                               GCancellable *cancellable,
                               GError **error)
@@ -804,6 +817,7 @@ gs_plugin_add_distro_upgrades (GsPlugin *plugin,
 
 gboolean
 gs_plugin_download_app (GsPlugin *plugin,
+                       GsPluginJob *job,
                        GsApp *app,
                        GCancellable *cancellable,
                        GError **error)
@@ -813,6 +827,7 @@ gs_plugin_download_app (GsPlugin *plugin,
 
 gboolean
 gs_plugin_refresh (GsPlugin *plugin,
+                  GsPluginJob *job,
                   guint cache_age,
                   GCancellable *cancellable,
                   GError **error)
@@ -822,7 +837,9 @@ gs_plugin_refresh (GsPlugin *plugin,
 }
 
 gboolean
-gs_plugin_app_upgrade_download (GsPlugin *plugin, GsApp *app,
+gs_plugin_app_upgrade_download (GsPlugin *plugin,
+                               GsPluginJob *job,
+                               GsApp *app,
                                GCancellable *cancellable, GError **error)
 {
        /* only process this app if was created by this plugin */
@@ -841,7 +858,9 @@ gs_plugin_app_upgrade_download (GsPlugin *plugin, GsApp *app,
 }
 
 gboolean
-gs_plugin_app_upgrade_trigger (GsPlugin *plugin, GsApp *app,
+gs_plugin_app_upgrade_trigger (GsPlugin *plugin,
+                              GsPluginJob *job,
+                              GsApp *app,
                               GCancellable *cancellable, GError **error)
 {
        /* only process this app if was created by this plugin */
@@ -854,7 +873,9 @@ gs_plugin_app_upgrade_trigger (GsPlugin *plugin, GsApp *app,
 }
 
 gboolean
-gs_plugin_update_cancel (GsPlugin *plugin, GsApp *app,
+gs_plugin_update_cancel (GsPlugin *plugin,
+                        GsPluginJob *job,
+                        GsApp *app,
                         GCancellable *cancellable, GError **error)
 {
        return TRUE;
@@ -862,6 +883,7 @@ gs_plugin_update_cancel (GsPlugin *plugin, GsApp *app,
 
 gboolean
 gs_plugin_review_submit (GsPlugin *plugin,
+                        GsPluginJob *job,
                         GsApp *app,
                         AsReview *review,
                         GCancellable *cancellable,
@@ -873,6 +895,7 @@ gs_plugin_review_submit (GsPlugin *plugin,
 
 gboolean
 gs_plugin_review_report (GsPlugin *plugin,
+                        GsPluginJob *job,
                         GsApp *app,
                         AsReview *review,
                         GCancellable *cancellable,
@@ -885,6 +908,7 @@ gs_plugin_review_report (GsPlugin *plugin,
 
 gboolean
 gs_plugin_review_upvote (GsPlugin *plugin,
+                        GsPluginJob *job,
                         GsApp *app,
                         AsReview *review,
                         GCancellable *cancellable,
@@ -897,6 +921,7 @@ gs_plugin_review_upvote (GsPlugin *plugin,
 
 gboolean
 gs_plugin_review_downvote (GsPlugin *plugin,
+                          GsPluginJob *job,
                           GsApp *app,
                           AsReview *review,
                           GCancellable *cancellable,
@@ -909,6 +934,7 @@ gs_plugin_review_downvote (GsPlugin *plugin,
 
 gboolean
 gs_plugin_review_remove (GsPlugin *plugin,
+                        GsPluginJob *job,
                         GsApp *app,
                         AsReview *review,
                         GCancellable *cancellable,
diff --git a/plugins/epiphany/gs-plugin-epiphany.c b/plugins/epiphany/gs-plugin-epiphany.c
index 9a83e800..4d353bad 100644
--- a/plugins/epiphany/gs-plugin-epiphany.c
+++ b/plugins/epiphany/gs-plugin-epiphany.c
@@ -62,7 +62,9 @@ _gs_app_get_id_nonfull (GsApp *app)
 }
 
 gboolean
-gs_plugin_app_install (GsPlugin *plugin, GsApp *app,
+gs_plugin_app_install (GsPlugin *plugin,
+                      GsPluginJob *job,
+                      GsApp *app,
                       GCancellable *cancellable, GError **error)
 {
        AsIcon *icon;
@@ -213,7 +215,9 @@ gs_plugin_app_install (GsPlugin *plugin, GsApp *app,
 }
 
 gboolean
-gs_plugin_app_remove (GsPlugin *plugin, GsApp *app,
+gs_plugin_app_remove (GsPlugin *plugin,
+                     GsPluginJob *job,
+                     GsApp *app,
                      GCancellable *cancellable, GError **error)
 {
        const gchar *epi_desktop;
@@ -249,6 +253,7 @@ gs_plugin_app_remove (GsPlugin *plugin, GsApp *app,
 
 gboolean
 gs_plugin_refine_app (GsPlugin *plugin,
+                     GsPluginJob *job,
                      GsApp *app,
                      GsPluginRefineFlags flags,
                      GCancellable *cancellable,
@@ -310,6 +315,7 @@ gs_plugin_refine_app (GsPlugin *plugin,
 
 gboolean
 gs_plugin_launch (GsPlugin *plugin,
+                 GsPluginJob *job,
                  GsApp *app,
                  GCancellable *cancellable,
                  GError **error)
diff --git a/plugins/fedora-langpacks/gs-plugin-fedora-langpacks.c 
b/plugins/fedora-langpacks/gs-plugin-fedora-langpacks.c
index ae176076..8424c09f 100644
--- a/plugins/fedora-langpacks/gs-plugin-fedora-langpacks.c
+++ b/plugins/fedora-langpacks/gs-plugin-fedora-langpacks.c
@@ -51,6 +51,7 @@ gs_plugin_destroy (GsPlugin *plugin)
 
 gboolean
 gs_plugin_add_langpacks (GsPlugin *plugin,
+                        GsPluginJob *job,
                         GsAppList *list,
                         const gchar *locale,
                         GCancellable *cancellable,
diff --git a/plugins/fedora-pkgdb-collections/gs-plugin-fedora-pkgdb-collections.c 
b/plugins/fedora-pkgdb-collections/gs-plugin-fedora-pkgdb-collections.c
index e41bbc88..44b077c0 100644
--- a/plugins/fedora-pkgdb-collections/gs-plugin-fedora-pkgdb-collections.c
+++ b/plugins/fedora-pkgdb-collections/gs-plugin-fedora-pkgdb-collections.c
@@ -206,6 +206,7 @@ _refresh_cache (GsPlugin *plugin,
 
 gboolean
 gs_plugin_refresh (GsPlugin *plugin,
+                  GsPluginJob *job,
                   guint cache_age,
                   GCancellable *cancellable,
                   GError **error)
@@ -468,6 +469,7 @@ _get_item_by_cpe_name (GsPlugin *plugin, const gchar *cpe_name)
 
 gboolean
 gs_plugin_add_distro_upgrades (GsPlugin *plugin,
+                              GsPluginJob *job,
                               GsAppList *list,
                               GCancellable *cancellable,
                               GError **error)
@@ -494,6 +496,7 @@ gs_plugin_add_distro_upgrades (GsPlugin *plugin,
 
 gboolean
 gs_plugin_refine_app (GsPlugin *plugin,
+                     GsPluginJob *job,
                      GsApp *app,
                      GsPluginRefineFlags flags,
                      GCancellable *cancellable,
diff --git a/plugins/flatpak/gs-plugin-flatpak.c b/plugins/flatpak/gs-plugin-flatpak.c
index 2cc8e473..0a41a26e 100644
--- a/plugins/flatpak/gs-plugin-flatpak.c
+++ b/plugins/flatpak/gs-plugin-flatpak.c
@@ -178,6 +178,7 @@ gs_plugin_setup (GsPlugin *plugin, GCancellable *cancellable, GError **error)
 
 gboolean
 gs_plugin_add_installed (GsPlugin *plugin,
+                        GsPluginJob *job,
                         GsAppList *list,
                         GCancellable *cancellable,
                         GError **error)
@@ -193,6 +194,7 @@ gs_plugin_add_installed (GsPlugin *plugin,
 
 gboolean
 gs_plugin_add_sources (GsPlugin *plugin,
+                      GsPluginJob *job,
                       GsAppList *list,
                       GCancellable *cancellable,
                       GError **error)
@@ -208,6 +210,7 @@ gs_plugin_add_sources (GsPlugin *plugin,
 
 gboolean
 gs_plugin_add_updates (GsPlugin *plugin,
+                      GsPluginJob *job,
                       GsAppList *list,
                       GCancellable *cancellable,
                       GError **error)
@@ -223,6 +226,7 @@ gs_plugin_add_updates (GsPlugin *plugin,
 
 gboolean
 gs_plugin_refresh (GsPlugin *plugin,
+                  GsPluginJob *job,
                   guint cache_age,
                   GCancellable *cancellable,
                   GError **error)
@@ -308,6 +312,7 @@ gs_plugin_flatpak_refine_app (GsPlugin *plugin,
 
 gboolean
 gs_plugin_refine_app (GsPlugin *plugin,
+                     GsPluginJob *job,
                      GsApp *app,
                      GsPluginRefineFlags flags,
                      GCancellable *cancellable,
@@ -340,6 +345,7 @@ gs_plugin_refine_app (GsPlugin *plugin,
 
 gboolean
 gs_plugin_refine_wildcard (GsPlugin *plugin,
+                          GsPluginJob *job,
                           GsApp *app,
                           GsAppList *list,
                           GsPluginRefineFlags flags,
@@ -359,6 +365,7 @@ gs_plugin_refine_wildcard (GsPlugin *plugin,
 
 gboolean
 gs_plugin_launch (GsPlugin *plugin,
+                 GsPluginJob *job,
                  GsApp *app,
                  GCancellable *cancellable,
                  GError **error)
@@ -472,7 +479,9 @@ _build_transaction (GsPlugin *plugin, GsFlatpak *flatpak, GsProgress *job_progre
 }
 
 gboolean
-gs_plugin_download (GsPlugin *plugin, GsAppList *list,
+gs_plugin_download (GsPlugin *plugin,
+                   GsPluginJob *job,
+                   GsAppList *list,
                    GCancellable *cancellable, GError **error)
 {
        g_autoptr(GHashTable) applist_by_flatpaks = NULL;
@@ -533,6 +542,7 @@ gs_plugin_download (GsPlugin *plugin, GsAppList *list,
 
 gboolean
 gs_plugin_app_remove (GsPlugin *plugin,
+                     GsPluginJob *job,
                      GsApp *app,
                      GCancellable *cancellable,
                      GError **error)
@@ -594,6 +604,7 @@ app_has_local_source (GsApp *app)
 
 gboolean
 gs_plugin_app_install (GsPlugin *plugin,
+                      GsPluginJob *job,
                       GsApp *app,
                       GCancellable *cancellable,
                       GError **error)
@@ -801,6 +812,7 @@ gs_plugin_flatpak_update (GsPlugin *plugin,
 
 gboolean
 gs_plugin_update (GsPlugin *plugin,
+                  GsPluginJob *job,
                   GsAppList *list,
                   GCancellable *cancellable,
                   GError **error)
@@ -976,6 +988,7 @@ gs_plugin_flatpak_file_to_app_ref (GsPlugin *plugin,
 
 gboolean
 gs_plugin_file_to_app (GsPlugin *plugin,
+                      GsPluginJob *job,
                       GsAppList *list,
                       GFile *file,
                       GCancellable *cancellable,
@@ -1020,6 +1033,7 @@ gs_plugin_file_to_app (GsPlugin *plugin,
 
 gboolean
 gs_plugin_add_search (GsPlugin *plugin,
+                     GsPluginJob *job,
                      gchar **values,
                      GsAppList *list,
                      GCancellable *cancellable,
@@ -1038,6 +1052,7 @@ gs_plugin_add_search (GsPlugin *plugin,
 
 gboolean
 gs_plugin_add_categories (GsPlugin *plugin,
+                         GsPluginJob *job,
                          GPtrArray *list,
                          GCancellable *cancellable,
                          GError **error)
@@ -1053,6 +1068,7 @@ gs_plugin_add_categories (GsPlugin *plugin,
 
 gboolean
 gs_plugin_add_category_apps (GsPlugin *plugin,
+                            GsPluginJob *job,
                             GsCategory *category,
                             GsAppList *list,
                             GCancellable *cancellable,
@@ -1074,6 +1090,7 @@ gs_plugin_add_category_apps (GsPlugin *plugin,
 
 gboolean
 gs_plugin_add_popular (GsPlugin *plugin,
+                      GsPluginJob *job,
                       GsAppList *list,
                       GCancellable *cancellable,
                       GError **error)
@@ -1089,6 +1106,7 @@ gs_plugin_add_popular (GsPlugin *plugin,
 
 gboolean
 gs_plugin_add_alternates (GsPlugin *plugin,
+                         GsPluginJob *job,
                          GsApp *app,
                          GsAppList *list,
                          GCancellable *cancellable,
@@ -1105,6 +1123,7 @@ gs_plugin_add_alternates (GsPlugin *plugin,
 
 gboolean
 gs_plugin_add_featured (GsPlugin *plugin,
+                       GsPluginJob *job,
                        GsAppList *list,
                        GCancellable *cancellable,
                        GError **error)
@@ -1120,6 +1139,7 @@ gs_plugin_add_featured (GsPlugin *plugin,
 
 gboolean
 gs_plugin_add_recent (GsPlugin *plugin,
+                     GsPluginJob *job,
                      GsAppList *list,
                      guint64 age,
                      GCancellable *cancellable,
diff --git a/plugins/fwupd/gs-plugin-fwupd.c b/plugins/fwupd/gs-plugin-fwupd.c
index 1502e718..d5a6741f 100644
--- a/plugins/fwupd/gs-plugin-fwupd.c
+++ b/plugins/fwupd/gs-plugin-fwupd.c
@@ -469,6 +469,7 @@ gs_plugin_fwupd_new_app (GsPlugin *plugin, FwupdDevice *dev, GError **error)
 
 gboolean
 gs_plugin_add_updates_historical (GsPlugin *plugin,
+                                 GsPluginJob *job,
                                  GsAppList *list,
                                  GCancellable *cancellable,
                                  GError **error)
@@ -513,6 +514,7 @@ gs_plugin_add_updates_historical (GsPlugin *plugin,
 
 gboolean
 gs_plugin_add_updates (GsPlugin *plugin,
+                      GsPluginJob *job,
                       GsAppList *list,
                       GCancellable *cancellable,
                       GError **error)
@@ -730,6 +732,7 @@ gs_plugin_fwupd_refresh_remote (GsPlugin *plugin,
 
 gboolean
 gs_plugin_refresh (GsPlugin *plugin,
+                  GsPluginJob *job,
                   guint cache_age,
                   GCancellable *cancellable,
                   GError **error)
@@ -845,6 +848,7 @@ gs_plugin_fwupd_modify_source (GsPlugin *plugin, GsApp *app, gboolean enabled,
 
 gboolean
 gs_plugin_app_install (GsPlugin *plugin,
+                      GsPluginJob *job,
                       GsApp *app,
                       GCancellable *cancellable,
                       GError **error)
@@ -865,7 +869,9 @@ gs_plugin_app_install (GsPlugin *plugin,
 }
 
 gboolean
-gs_plugin_app_remove (GsPlugin *plugin, GsApp *app,
+gs_plugin_app_remove (GsPlugin *plugin,
+                     GsPluginJob *job,
+                     GsApp *app,
                      GCancellable *cancellable, GError **error)
 {
        /* only process this app if was created by this plugin */
@@ -879,6 +885,7 @@ gs_plugin_app_remove (GsPlugin *plugin, GsApp *app,
 
 gboolean
 gs_plugin_download_app (GsPlugin *plugin,
+                       GsPluginJob *job,
                        GsApp *app,
                        GCancellable *cancellable,
                        GError **error)
@@ -927,6 +934,7 @@ gs_plugin_download_app (GsPlugin *plugin,
 
 gboolean
 gs_plugin_update_app (GsPlugin *plugin,
+                     GsPluginJob *job,
                      GsApp *app,
                      GCancellable *cancellable,
                      GError **error)
@@ -966,6 +974,7 @@ gs_plugin_update_app (GsPlugin *plugin,
 
 gboolean
 gs_plugin_file_to_app (GsPlugin *plugin,
+                      GsPluginJob *job,
                       GsAppList *list,
                       GFile *file,
                       GCancellable *cancellable,
@@ -1014,6 +1023,7 @@ gs_plugin_file_to_app (GsPlugin *plugin,
 
 gboolean
 gs_plugin_add_sources (GsPlugin *plugin,
+                      GsPluginJob *job,
                       GsAppList *list,
                       GCancellable *cancellable,
                       GError **error)
diff --git a/plugins/modalias/gs-plugin-modalias.c b/plugins/modalias/gs-plugin-modalias.c
index a5eeccf5..ba928171 100644
--- a/plugins/modalias/gs-plugin-modalias.c
+++ b/plugins/modalias/gs-plugin-modalias.c
@@ -100,6 +100,7 @@ gs_plugin_modalias_matches (GsPlugin *plugin, const gchar *modalias)
 
 gboolean
 gs_plugin_refine_app (GsPlugin *plugin,
+                     GsPluginJob *job,
                      GsApp *app,
                      GsPluginRefineFlags flags,
                      GCancellable *cancellable,
diff --git a/plugins/odrs/gs-plugin-odrs.c b/plugins/odrs/gs-plugin-odrs.c
index 39c605ec..6719adad 100644
--- a/plugins/odrs/gs-plugin-odrs.c
+++ b/plugins/odrs/gs-plugin-odrs.c
@@ -159,6 +159,7 @@ gs_plugin_odrs_load_ratings (GsPlugin *plugin, const gchar *fn, GError **error)
 
 gboolean
 gs_plugin_refresh (GsPlugin *plugin,
+                  GsPluginJob *job,
                   guint cache_age,
                   GCancellable *cancellable,
                   GError **error)
@@ -722,6 +723,7 @@ gs_plugin_odrs_refine_reviews (GsPlugin *plugin,
 
 gboolean
 gs_plugin_refine_app (GsPlugin *plugin,
+                     GsPluginJob *job,
                      GsApp *app,
                      GsPluginRefineFlags flags,
                      GCancellable *cancellable,
@@ -806,6 +808,7 @@ gs_plugin_odrs_invalidate_cache (AsReview *review, GError **error)
 
 gboolean
 gs_plugin_review_submit (GsPlugin *plugin,
+                        GsPluginJob *job,
                         GsApp *app,
                         AsReview *review,
                         GCancellable *cancellable,
@@ -929,6 +932,7 @@ gs_plugin_odrs_vote (GsPlugin *plugin, AsReview *review,
 
 gboolean
 gs_plugin_review_report (GsPlugin *plugin,
+                        GsPluginJob *job,
                         GsApp *app,
                         AsReview *review,
                         GCancellable *cancellable,
@@ -942,6 +946,7 @@ gs_plugin_review_report (GsPlugin *plugin,
 
 gboolean
 gs_plugin_review_upvote (GsPlugin *plugin,
+                        GsPluginJob *job,
                         GsApp *app,
                         AsReview *review,
                         GCancellable *cancellable,
@@ -955,6 +960,7 @@ gs_plugin_review_upvote (GsPlugin *plugin,
 
 gboolean
 gs_plugin_review_downvote (GsPlugin *plugin,
+                          GsPluginJob *job,
                           GsApp *app,
                           AsReview *review,
                           GCancellable *cancellable,
@@ -968,6 +974,7 @@ gs_plugin_review_downvote (GsPlugin *plugin,
 
 gboolean
 gs_plugin_review_dismiss (GsPlugin *plugin,
+                         GsPluginJob *job,
                          GsApp *app,
                          AsReview *review,
                          GCancellable *cancellable,
@@ -981,6 +988,7 @@ gs_plugin_review_dismiss (GsPlugin *plugin,
 
 gboolean
 gs_plugin_review_remove (GsPlugin *plugin,
+                        GsPluginJob *job,
                         GsApp *app,
                         AsReview *review,
                         GCancellable *cancellable,
@@ -1008,6 +1016,7 @@ gs_plugin_create_app_dummy (const gchar *id)
 
 gboolean
 gs_plugin_add_unvoted_reviews (GsPlugin *plugin,
+                              GsPluginJob *job,
                               GsAppList *list,
                               GCancellable *cancellable,
                               GError **error)
diff --git a/plugins/packagekit/gs-plugin-packagekit-history.c 
b/plugins/packagekit/gs-plugin-packagekit-history.c
index 3a70a693..0c06ebd1 100644
--- a/plugins/packagekit/gs-plugin-packagekit-history.c
+++ b/plugins/packagekit/gs-plugin-packagekit-history.c
@@ -221,6 +221,7 @@ gs_plugin_packagekit_refine (GsPlugin *plugin,
 
 gboolean
 gs_plugin_refine (GsPlugin *plugin,
+                 GsPluginJob *job,
                  GsAppList *list,
                  GsPluginRefineFlags flags,
                  GCancellable *cancellable,
diff --git a/plugins/packagekit/gs-plugin-packagekit-local.c b/plugins/packagekit/gs-plugin-packagekit-local.c
index 77ffe881..93e7e565 100644
--- a/plugins/packagekit/gs-plugin-packagekit-local.c
+++ b/plugins/packagekit/gs-plugin-packagekit-local.c
@@ -117,6 +117,7 @@ add_quirks_from_package_name (GsApp *app, const gchar *package_name)
 
 gboolean
 gs_plugin_file_to_app (GsPlugin *plugin,
+                      GsPluginJob *job,
                       GsAppList *list,
                       GFile *file,
                       GCancellable *cancellable,
diff --git a/plugins/packagekit/gs-plugin-packagekit-offline.c 
b/plugins/packagekit/gs-plugin-packagekit-offline.c
index b2b019be..c6ea5a9d 100644
--- a/plugins/packagekit/gs-plugin-packagekit-offline.c
+++ b/plugins/packagekit/gs-plugin-packagekit-offline.c
@@ -80,6 +80,7 @@ gs_plugin_packagekit_convert_error (GError **error,
 
 gboolean
 gs_plugin_add_updates_historical (GsPlugin *plugin,
+                                 GsPluginJob *job,
                                  GsAppList *list,
                                  GCancellable *cancellable,
                                  GError **error)
diff --git a/plugins/packagekit/gs-plugin-packagekit-refine-repos.c 
b/plugins/packagekit/gs-plugin-packagekit-refine-repos.c
index 1387b58a..d2f56929 100644
--- a/plugins/packagekit/gs-plugin-packagekit-refine-repos.c
+++ b/plugins/packagekit/gs-plugin-packagekit-refine-repos.c
@@ -91,6 +91,7 @@ gs_plugin_packagekit_refine_repo_from_filename (GsPlugin *plugin,
 
 gboolean
 gs_plugin_refine (GsPlugin *plugin,
+                  GsPluginJob *job,
                   GsAppList *list,
                   GsPluginRefineFlags flags,
                   GCancellable *cancellable,
diff --git a/plugins/packagekit/gs-plugin-packagekit-refine.c 
b/plugins/packagekit/gs-plugin-packagekit-refine.c
index 1da3cc16..58ab9adb 100644
--- a/plugins/packagekit/gs-plugin-packagekit-refine.c
+++ b/plugins/packagekit/gs-plugin-packagekit-refine.c
@@ -753,6 +753,7 @@ gs_plugin_packagekit_refine_update_details (GsPlugin *plugin,
 
 gboolean
 gs_plugin_refine (GsPlugin *plugin,
+                 GsPluginJob *job,
                  GsAppList *list,
                  GsPluginRefineFlags flags,
                  GCancellable *cancellable,
@@ -800,6 +801,7 @@ gs_plugin_refine (GsPlugin *plugin,
 
 gboolean
 gs_plugin_refine_app (GsPlugin *plugin,
+                     GsPluginJob *job,
                      GsApp *app,
                      GsPluginRefineFlags flags,
                      GCancellable *cancellable,
diff --git a/plugins/packagekit/gs-plugin-packagekit-refresh.c 
b/plugins/packagekit/gs-plugin-packagekit-refresh.c
index 7805853c..373a9127 100644
--- a/plugins/packagekit/gs-plugin-packagekit-refresh.c
+++ b/plugins/packagekit/gs-plugin-packagekit-refresh.c
@@ -106,6 +106,7 @@ _download_only (GsPlugin *plugin, GsAppList *list,
 
 gboolean
 gs_plugin_download (GsPlugin *plugin,
+                    GsPluginJob *job,
                     GsAppList *list,
                     GCancellable *cancellable,
                     GError **error)
@@ -150,6 +151,7 @@ gs_plugin_download (GsPlugin *plugin,
 
 gboolean
 gs_plugin_refresh (GsPlugin *plugin,
+                  GsPluginJob *job,
                   guint cache_age,
                   GCancellable *cancellable,
                   GError **error)
diff --git a/plugins/packagekit/gs-plugin-packagekit-upgrade.c 
b/plugins/packagekit/gs-plugin-packagekit-upgrade.c
index 1a563f42..6bad118f 100644
--- a/plugins/packagekit/gs-plugin-packagekit-upgrade.c
+++ b/plugins/packagekit/gs-plugin-packagekit-upgrade.c
@@ -49,6 +49,7 @@ gs_plugin_adopt_app (GsPlugin *plugin, GsApp *app)
 
 gboolean
 gs_plugin_app_upgrade_download (GsPlugin *plugin,
+                               GsPluginJob *job,
                                GsApp *app,
                                GCancellable *cancellable,
                                GError **error)
diff --git a/plugins/packagekit/gs-plugin-packagekit-url-to-app.c 
b/plugins/packagekit/gs-plugin-packagekit-url-to-app.c
index d9c2ed66..519175a1 100644
--- a/plugins/packagekit/gs-plugin-packagekit-url-to-app.c
+++ b/plugins/packagekit/gs-plugin-packagekit-url-to-app.c
@@ -40,6 +40,7 @@ gs_plugin_destroy (GsPlugin *plugin)
 
 gboolean
 gs_plugin_url_to_app (GsPlugin *plugin,
+                     GsPluginJob *job,
                      GsAppList *list,
                      const gchar *url,
                      GCancellable *cancellable,
diff --git a/plugins/packagekit/gs-plugin-packagekit.c b/plugins/packagekit/gs-plugin-packagekit.c
index 2c4e1644..fee3896e 100644
--- a/plugins/packagekit/gs-plugin-packagekit.c
+++ b/plugins/packagekit/gs-plugin-packagekit.c
@@ -114,6 +114,7 @@ gs_plugin_add_sources_related (GsPlugin *plugin,
 
 gboolean
 gs_plugin_add_sources (GsPlugin *plugin,
+                      GsPluginJob *job,
                       GsAppList *list,
                       GCancellable *cancellable,
                       GError **error)
@@ -250,6 +251,7 @@ gs_plugin_repo_enable (GsPlugin *plugin,
 
 gboolean
 gs_plugin_app_install (GsPlugin *plugin,
+                      GsPluginJob *job,
                       GsApp *app,
                       GCancellable *cancellable,
                       GError **error)
@@ -483,6 +485,7 @@ gs_plugin_repo_disable (GsPlugin *plugin,
 
 gboolean
 gs_plugin_app_remove (GsPlugin *plugin,
+                     GsPluginJob *job,
                      GsApp *app,
                      GCancellable *cancellable,
                      GError **error)
@@ -582,6 +585,7 @@ gs_plugin_packagekit_build_update_app (GsPlugin *plugin, PkPackage *package)
 
 gboolean
 gs_plugin_add_updates (GsPlugin *plugin,
+                      GsPluginJob *job,
                       GsAppList *list,
                       GCancellable *cancellable,
                       GError **error)
@@ -616,6 +620,7 @@ gs_plugin_add_updates (GsPlugin *plugin,
 
 gboolean
 gs_plugin_add_search_files (GsPlugin *plugin,
+                            GsPluginJob *job,
                             gchar **search,
                             GsAppList *list,
                             GCancellable *cancellable,
@@ -648,6 +653,7 @@ gs_plugin_add_search_files (GsPlugin *plugin,
 
 gboolean
 gs_plugin_add_search_what_provides (GsPlugin *plugin,
+                                    GsPluginJob *job,
                                     gchar **search,
                                     GsAppList *list,
                                     GCancellable *cancellable,
@@ -680,6 +686,7 @@ gs_plugin_add_search_what_provides (GsPlugin *plugin,
 
 gboolean
 gs_plugin_launch (GsPlugin *plugin,
+                 GsPluginJob *job,
                  GsApp *app,
                  GCancellable *cancellable,
                  GError **error)
diff --git a/plugins/packagekit/gs-plugin-systemd-updates.c b/plugins/packagekit/gs-plugin-systemd-updates.c
index 21a7ce62..825eff4b 100644
--- a/plugins/packagekit/gs-plugin-systemd-updates.c
+++ b/plugins/packagekit/gs-plugin-systemd-updates.c
@@ -153,6 +153,7 @@ gs_plugin_systemd_refine_app (GsPlugin *plugin, GsApp *app)
 
 gboolean
 gs_plugin_refine (GsPlugin *plugin,
+                  GsPluginJob *job,
                   GsAppList *list,
                   GsPluginRefineFlags flags,
                   GCancellable *cancellable,
@@ -261,6 +262,7 @@ _systemd_trigger_app (GsPlugin *plugin,
 
 gboolean
 gs_plugin_update (GsPlugin *plugin,
+                 GsPluginJob *job,
                  GsAppList *list,
                  GCancellable *cancellable,
                  GError **error)
@@ -291,6 +293,7 @@ gs_plugin_update (GsPlugin *plugin,
 
 gboolean
 gs_plugin_update_cancel (GsPlugin *plugin,
+                        GsPluginJob *job,
                         GsApp *app,
                         GCancellable *cancellable,
                         GError **error)
@@ -318,6 +321,7 @@ gs_plugin_update_cancel (GsPlugin *plugin,
 
 gboolean
 gs_plugin_app_upgrade_trigger (GsPlugin *plugin,
+                               GsPluginJob *job,
                                GsApp *app,
                                GCancellable *cancellable,
                                GError **error)
diff --git a/plugins/repos/gs-plugin-repos.c b/plugins/repos/gs-plugin-repos.c
index 08e50c18..03e634d5 100644
--- a/plugins/repos/gs-plugin-repos.c
+++ b/plugins/repos/gs-plugin-repos.c
@@ -166,6 +166,7 @@ gs_plugin_setup (GsPlugin *plugin, GCancellable *cancellable, GError **error)
 
 gboolean
 gs_plugin_refine_app (GsPlugin *plugin,
+                     GsPluginJob *job,
                      GsApp *app,
                      GsPluginRefineFlags flags,
                      GCancellable *cancellable,
diff --git a/plugins/shell-extensions/gs-plugin-shell-extensions.c 
b/plugins/shell-extensions/gs-plugin-shell-extensions.c
index 80a5d0eb..d262cfa9 100644
--- a/plugins/shell-extensions/gs-plugin-shell-extensions.c
+++ b/plugins/shell-extensions/gs-plugin-shell-extensions.c
@@ -327,6 +327,7 @@ gs_plugin_setup (GsPlugin *plugin, GCancellable *cancellable, GError **error)
 
 gboolean
 gs_plugin_add_installed (GsPlugin *plugin,
+                        GsPluginJob *job,
                         GsAppList *list,
                         GCancellable *cancellable,
                         GError **error)
@@ -386,6 +387,7 @@ gs_plugin_add_installed (GsPlugin *plugin,
 
 gboolean
 gs_plugin_add_sources (GsPlugin *plugin,
+                       GsPluginJob *job,
                        GsAppList *list,
                        GCancellable *cancellable,
                        GError **error)
@@ -413,6 +415,7 @@ gs_plugin_add_sources (GsPlugin *plugin,
 
 gboolean
 gs_plugin_refine_app (GsPlugin *plugin,
+                     GsPluginJob *job,
                      GsApp *app,
                      GsPluginRefineFlags flags,
                      GCancellable *cancellable,
@@ -483,6 +486,7 @@ gs_plugin_refine_app (GsPlugin *plugin,
 
 gboolean
 gs_plugin_refine_wildcard (GsPlugin *plugin,
+                          GsPluginJob *job,
                           GsApp *app,
                           GsAppList *list,
                           GsPluginRefineFlags refine_flags,
@@ -916,7 +920,10 @@ _claim_components (GsPlugin *plugin, GsAppList *list)
 }
 
 gboolean
-gs_plugin_add_search (GsPlugin *plugin, gchar **values, GsAppList *list,
+gs_plugin_add_search (GsPlugin *plugin,
+                     GsPluginJob *job,
+                     gchar **values,
+                     GsAppList *list,
                      GCancellable *cancellable, GError **error)
 {
        GsPluginData *priv = gs_plugin_get_data (plugin);
@@ -936,7 +943,10 @@ gs_plugin_add_search (GsPlugin *plugin, gchar **values, GsAppList *list,
 }
 
 gboolean
-gs_plugin_add_category_apps (GsPlugin *plugin, GsCategory *category, GsAppList *list,
+gs_plugin_add_category_apps (GsPlugin *plugin,
+                            GsPluginJob *job,
+                            GsCategory *category,
+                            GsAppList *list,
                             GCancellable *cancellable, GError **error)
 {
        GsPluginData *priv = gs_plugin_get_data (plugin);
@@ -952,6 +962,7 @@ gs_plugin_add_category_apps (GsPlugin *plugin, GsCategory *category, GsAppList *
 
 gboolean
 gs_plugin_refresh (GsPlugin *plugin,
+                  GsPluginJob *job,
                   guint cache_age,
                   GCancellable *cancellable,
                   GError **error)
@@ -969,6 +980,7 @@ gs_plugin_refresh (GsPlugin *plugin,
 
 gboolean
 gs_plugin_app_remove (GsPlugin *plugin,
+                     GsPluginJob *job,
                      GsApp *app,
                      GCancellable *cancellable,
                      GError **error)
@@ -1032,6 +1044,7 @@ gs_plugin_app_remove (GsPlugin *plugin,
 
 gboolean
 gs_plugin_app_install (GsPlugin *plugin,
+                      GsPluginJob *job,
                       GsApp *app,
                       GCancellable *cancellable,
                       GError **error)
@@ -1096,6 +1109,7 @@ gs_plugin_app_install (GsPlugin *plugin,
 
 gboolean
 gs_plugin_launch (GsPlugin *plugin,
+                 GsPluginJob *job,
                  GsApp *app,
                  GCancellable *cancellable,
                  GError **error)
@@ -1141,6 +1155,7 @@ gs_plugin_launch (GsPlugin *plugin,
 
 gboolean
 gs_plugin_add_categories (GsPlugin *plugin,
+                         GsPluginJob *job,
                          GPtrArray *list,
                          GCancellable *cancellable,
                          GError **error)


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]