[gnome-software/wip/hughsie/GsPluginEvent: 20/24] fedora-distro-upgrades: Add a cached source to improve error logging
- From: Richard Hughes <rhughes src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-software/wip/hughsie/GsPluginEvent: 20/24] fedora-distro-upgrades: Add a cached source to improve error logging
- Date: Wed, 7 Sep 2016 21:22:33 +0000 (UTC)
commit e90c8aa09ab33fe5343d63949221e59f6dbfd167
Author: Richard Hughes <richard hughsie com>
Date: Wed Sep 7 17:49:32 2016 +0100
fedora-distro-upgrades: Add a cached source to improve error logging
src/plugins/gs-plugin-fedora-distro-upgrades.c | 37 ++++++++++++++++++++----
1 files changed, 31 insertions(+), 6 deletions(-)
---
diff --git a/src/plugins/gs-plugin-fedora-distro-upgrades.c b/src/plugins/gs-plugin-fedora-distro-upgrades.c
index 70056a2..925256a 100644
--- a/src/plugins/gs-plugin-fedora-distro-upgrades.c
+++ b/src/plugins/gs-plugin-fedora-distro-upgrades.c
@@ -24,13 +24,14 @@
#include <json-glib/json-glib.h>
#include <gnome-software.h>
-#define FEDORA_PKGDB_COLLECTIONS_API_URI "https://admin.fedoraproject.org/pkgdb/api/collections/"
+#define FEDORA_PKGDB_COLLECTIONS_API_URI "https://adminXXX.fedoraproject.org/pkgdb/api/collections/"
struct GsPluginData {
gchar *cachefn;
GFileMonitor *cachefn_monitor;
gchar *os_name;
guint64 os_version;
+ GsApp *cached_origin;
};
void
@@ -51,6 +52,8 @@ gs_plugin_destroy (GsPlugin *plugin)
GsPluginData *priv = gs_plugin_get_data (plugin);
if (priv->cachefn_monitor != NULL)
g_object_unref (priv->cachefn_monitor);
+ if (priv->cached_origin != NULL)
+ g_object_unref (priv->cached_origin);
g_free (priv->os_name);
g_free (priv->cachefn);
}
@@ -127,6 +130,22 @@ gs_plugin_setup (GsPlugin *plugin, GCancellable *cancellable, GError **error)
return FALSE;
}
+ /* add source */
+ priv->cached_origin = gs_app_new (gs_plugin_get_name (plugin));
+ gs_app_set_kind (priv->cached_origin, AS_APP_KIND_GENERIC);
+ gs_app_set_state (priv->cached_origin, AS_APP_STATE_INSTALLED);
+ gs_app_set_scope (priv->cached_origin, AS_APP_SCOPE_SYSTEM);
+ gs_app_set_bundle_kind (priv->cached_origin, AS_BUNDLE_KIND_PACKAGE);
+ gs_app_set_origin_ui (priv->cached_origin, "Fedora Project PkgDb");
+ gs_app_set_origin_hostname (priv->cached_origin,
+ FEDORA_PKGDB_COLLECTIONS_API_URI);
+
+ /* add the source to the plugin cache which allows us to match the
+ * unique ID to a GsApp when creating an event */
+ gs_plugin_cache_add (plugin,
+ gs_app_get_unique_id (priv->cached_origin),
+ priv->cached_origin);
+
/* success */
return TRUE;
}
@@ -151,11 +170,17 @@ gs_plugin_fedora_distro_upgrades_refresh (GsPlugin *plugin,
}
/* download new file */
- return gs_plugin_download_file (plugin, NULL,
- FEDORA_PKGDB_COLLECTIONS_API_URI,
- priv->cachefn,
- cancellable,
- error);
+ if (!gs_plugin_download_file (plugin, NULL,
+ FEDORA_PKGDB_COLLECTIONS_API_URI,
+ priv->cachefn,
+ cancellable,
+ error)) {
+ gs_plugin_error_add_unique_id (error, priv->cached_origin);
+ return FALSE;
+ }
+
+ /* success */
+ return TRUE;
}
gboolean
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]