[gnome-software] Use AsUrlKind from libappstream-glib



commit ee37110687916d6c340fbc1e5f45d6dee511982c
Author: Richard Hughes <richard hughsie com>
Date:   Wed Jul 2 09:31:03 2014 +0100

    Use AsUrlKind from libappstream-glib

 src/gs-app.c                               |   12 +++++-------
 src/gs-app.h                               |    7 ++-----
 src/gs-plugin-loader.c                     |    2 +-
 src/gs-self-test.c                         |    2 +-
 src/gs-shell-details.c                     |    4 ++--
 src/gs-shell-search.c                      |    2 +-
 src/plugins/gs-plugin-appstream.c          |    4 ++--
 src/plugins/gs-plugin-dummy.c              |    2 +-
 src/plugins/gs-plugin-epiphany.c           |    2 +-
 src/plugins/gs-plugin-packagekit-refine.c  |    6 +++---
 src/plugins/gs-plugin-packagekit-refresh.c |    2 +-
 11 files changed, 20 insertions(+), 25 deletions(-)
---
diff --git a/src/gs-app.c b/src/gs-app.c
index 85b0882..bf49c21 100644
--- a/src/gs-app.c
+++ b/src/gs-app.c
@@ -245,7 +245,7 @@ gs_app_to_string (GsApp *app)
                tmp = g_ptr_array_index (priv->source_ids, i);
                g_string_append_printf (str, "\tsource-id-%02i:\t%s\n", i, tmp);
        }
-       tmp = g_hash_table_lookup (priv->urls, GS_APP_URL_KIND_HOMEPAGE);
+       tmp = g_hash_table_lookup (priv->urls, as_url_kind_to_string (AS_URL_KIND_HOMEPAGE));
        if (tmp != NULL)
                g_string_append_printf (str, "\turl{homepage}:\t%s\n", tmp);
        if (priv->licence != NULL)
@@ -1085,23 +1085,21 @@ gs_app_set_description (GsApp *app, GsAppQuality quality, const gchar *descripti
  * gs_app_get_url:
  */
 const gchar *
-gs_app_get_url (GsApp *app, const gchar *kind)
+gs_app_get_url (GsApp *app, AsUrlKind kind)
 {
        g_return_val_if_fail (GS_IS_APP (app), NULL);
-       return g_hash_table_lookup (app->priv->urls, kind);
+       return g_hash_table_lookup (app->priv->urls, as_url_kind_to_string (kind));
 }
 
 /**
  * gs_app_set_url:
- * @app:       A #GsApp instance
- * @summary:   The home page URL, e.g. "http://www.foo.com/gcalctool/";
  */
 void
-gs_app_set_url (GsApp *app, const gchar *kind, const gchar *url)
+gs_app_set_url (GsApp *app, AsUrlKind kind, const gchar *url)
 {
        g_return_if_fail (GS_IS_APP (app));
        g_hash_table_insert (app->priv->urls,
-                            g_strdup (kind),
+                            g_strdup (as_url_kind_to_string (kind)),
                             g_strdup (url));
 }
 
diff --git a/src/gs-app.h b/src/gs-app.h
index b88aa4c..dc267b1 100644
--- a/src/gs-app.h
+++ b/src/gs-app.h
@@ -95,9 +95,6 @@ typedef enum {
 #define        GS_APP_SIZE_UNKNOWN                     0
 #define        GS_APP_SIZE_MISSING                     1
 
-#define        GS_APP_URL_KIND_HOMEPAGE                "homepage"
-#define        GS_APP_URL_KIND_MISSING                 "missing"
-
 typedef enum {
        GS_APP_QUALITY_UNKNOWN,
        GS_APP_QUALITY_LOWEST,
@@ -166,9 +163,9 @@ void                 gs_app_set_description         (GsApp          *app,
                                                 GsAppQuality    quality,
                                                 const gchar    *description);
 const gchar    *gs_app_get_url                 (GsApp          *app,
-                                                const gchar    *kind);
+                                                AsUrlKind       kind);
 void            gs_app_set_url                 (GsApp          *app,
-                                                const gchar    *kind,
+                                                AsUrlKind       kind,
                                                 const gchar    *url);
 const gchar    *gs_app_get_licence             (GsApp          *app);
 void            gs_app_set_licence             (GsApp          *app,
diff --git a/src/gs-plugin-loader.c b/src/gs-plugin-loader.c
index ce36cdd..38db9b1 100644
--- a/src/gs-plugin-loader.c
+++ b/src/gs-plugin-loader.c
@@ -1370,7 +1370,7 @@ gs_plugin_loader_convert_unavailable (GList *list, const gchar *search)
                        continue;
                if (gs_app_get_id_kind (app) != AS_ID_KIND_CODEC)
                        continue;
-               if (gs_app_get_url (app, GS_APP_URL_KIND_MISSING) == NULL)
+               if (gs_app_get_url (app, AS_URL_KIND_MISSING) == NULL)
                        continue;
 
                /* only convert the first unavailable codec */
diff --git a/src/gs-self-test.c b/src/gs-self-test.c
index d50c594..c4ed6a9 100644
--- a/src/gs-self-test.c
+++ b/src/gs-self-test.c
@@ -544,7 +544,7 @@ gs_plugin_loader_refine_func (void)
 
        g_assert_cmpstr (gs_app_get_licence (app), ==, "<a 
href=\"http://spdx.org/licenses/GPL-3.0+\";>GPL-3.0+</a> and <a 
href=\"http://spdx.org/licenses/GPL-3.0\";>GPL-3.0</a>");
        g_assert_cmpstr (gs_app_get_description (app), !=, NULL);
-       url = gs_app_get_url (app, GS_APP_URL_KIND_HOMEPAGE);
+       url = gs_app_get_url (app, AS_URL_KIND_HOMEPAGE);
        g_assert_cmpstr (url, ==, "http://www.gimp.org/";);
 
        g_object_unref (app);
diff --git a/src/gs-shell-details.c b/src/gs-shell-details.c
index d4c66bc..2af6ae9 100644
--- a/src/gs-shell-details.c
+++ b/src/gs-shell-details.c
@@ -437,7 +437,7 @@ gs_shell_details_website_cb (GtkWidget *widget, GsShellDetails *shell_details)
        const gchar *url;
        gboolean ret;
 
-       url = gs_app_get_url (priv->app, GS_APP_URL_KIND_HOMEPAGE);
+       url = gs_app_get_url (priv->app, AS_URL_KIND_HOMEPAGE);
        ret = gtk_show_uri (NULL, url, GDK_CURRENT_TIME, &error);
        if (!ret) {
                g_warning ("spawn of '%s' failed", url);
@@ -569,7 +569,7 @@ gs_shell_details_refresh_all (GsShellDetails *shell_details)
                gtk_widget_set_visible (priv->application_details_icon, FALSE);
        }
 
-       tmp = gs_app_get_url (priv->app, GS_APP_URL_KIND_HOMEPAGE);
+       tmp = gs_app_get_url (priv->app, AS_URL_KIND_HOMEPAGE);
        if (tmp != NULL && tmp[0] != '\0') {
                gtk_widget_set_visible (priv->button_details_website, TRUE);
        } else {
diff --git a/src/gs-shell-search.c b/src/gs-shell-search.c
index 680de4c..38f6abc 100644
--- a/src/gs-shell-search.c
+++ b/src/gs-shell-search.c
@@ -209,7 +209,7 @@ gs_shell_search_show_missing_url (GsApp *app)
        const gchar *url;
        gboolean ret;
 
-       url = gs_app_get_url (app, GS_APP_URL_KIND_MISSING);
+       url = gs_app_get_url (app, AS_URL_KIND_MISSING);
        ret = gtk_show_uri (NULL, url, GDK_CURRENT_TIME, &error);
        if (!ret) {
                g_warning ("spawn of '%s' failed", url);
diff --git a/src/plugins/gs-plugin-appstream.c b/src/plugins/gs-plugin-appstream.c
index 27d02f5..6ea69f0 100644
--- a/src/plugins/gs-plugin-appstream.c
+++ b/src/plugins/gs-plugin-appstream.c
@@ -478,13 +478,13 @@ gs_plugin_refine_item (GsPlugin *plugin,
        /* add urls */
        urls = as_app_get_urls (item);
        if (g_hash_table_size (urls) > 0 &&
-           gs_app_get_url (app, GS_APP_URL_KIND_HOMEPAGE) == NULL) {
+           gs_app_get_url (app, AS_URL_KIND_HOMEPAGE) == NULL) {
                GList *keys;
                GList *l;
                keys = g_hash_table_get_keys (urls);
                for (l = keys; l != NULL; l = l->next) {
                        gs_app_set_url (app,
-                                       l->data,
+                                       as_url_kind_from_string (l->data),
                                        g_hash_table_lookup (urls, l->data));
                }
                g_list_free (keys);
diff --git a/src/plugins/gs-plugin-dummy.c b/src/plugins/gs-plugin-dummy.c
index d957612..4814a87 100644
--- a/src/plugins/gs-plugin-dummy.c
+++ b/src/plugins/gs-plugin-dummy.c
@@ -201,7 +201,7 @@ gs_plugin_add_category_apps (GsPlugin *plugin,
        app = gs_app_new ("gnome-boxes");
        gs_app_set_name (app, GS_APP_QUALITY_NORMAL, "Boxes");
        gs_app_set_summary (app, GS_APP_QUALITY_NORMAL, "View and use virtual machines");
-       gs_app_set_url (app, GS_APP_URL_KIND_HOMEPAGE, "http://www.box.org";);
+       gs_app_set_url (app, AS_URL_KIND_HOMEPAGE, "http://www.box.org";);
        gs_app_set_kind (app, GS_APP_KIND_NORMAL);
        gs_app_set_state (app, AS_APP_STATE_AVAILABLE);
        gs_app_set_pixbuf (app, gdk_pixbuf_new_from_file 
("/usr/share/icons/hicolor/48x48/apps/gnome-boxes.png", NULL));
diff --git a/src/plugins/gs-plugin-epiphany.c b/src/plugins/gs-plugin-epiphany.c
index b4899f1..28d39bf 100644
--- a/src/plugins/gs-plugin-epiphany.c
+++ b/src/plugins/gs-plugin-epiphany.c
@@ -440,7 +440,7 @@ gs_plugin_write_file (GsApp *app, const gchar *filename, GError **error)
                               G_KEY_FILE_DESKTOP_KEY_COMMENT,
                               gs_app_get_summary (app));
 
-       url = gs_app_get_url (app, GS_APP_URL_KIND_HOMEPAGE);
+       url = gs_app_get_url (app, AS_URL_KIND_HOMEPAGE);
        wmclass = g_strdup_printf ("%s-%s",
                                   gs_app_get_id (app),
                                   gs_app_get_metadata_item (app, "Epiphany::hash"));
diff --git a/src/plugins/gs-plugin-packagekit-refine.c b/src/plugins/gs-plugin-packagekit-refine.c
index 40d64ed..9ee460f 100644
--- a/src/plugins/gs-plugin-packagekit-refine.c
+++ b/src/plugins/gs-plugin-packagekit-refine.c
@@ -484,9 +484,9 @@ gs_plugin_packagekit_refine_details_app (GsPlugin *plugin,
                        }
                        if (gs_app_get_licence (app) == NULL)
                                gs_app_set_licence (app, pk_details_get_license (details));
-                       if (gs_app_get_url (app, GS_APP_URL_KIND_HOMEPAGE) == NULL) {
+                       if (gs_app_get_url (app, AS_URL_KIND_HOMEPAGE) == NULL) {
                                gs_app_set_url (app,
-                                               GS_APP_URL_KIND_HOMEPAGE,
+                                               AS_URL_KIND_HOMEPAGE,
                                                pk_details_get_url (details));
                        }
                        size += pk_details_get_size (details);
@@ -573,7 +573,7 @@ gs_plugin_refine_app_needs_details (GsPlugin *plugin, GsApp *app)
 {
        if (gs_app_get_licence (app) == NULL)
                return TRUE;
-       if (gs_app_get_url (app, GS_APP_URL_KIND_HOMEPAGE) == NULL)
+       if (gs_app_get_url (app, AS_URL_KIND_HOMEPAGE) == NULL)
                return TRUE;
        if (gs_app_get_size (app) == GS_APP_SIZE_UNKNOWN)
                return TRUE;
diff --git a/src/plugins/gs-plugin-packagekit-refresh.c b/src/plugins/gs-plugin-packagekit-refresh.c
index 18a2e0b..0a71eed 100644
--- a/src/plugins/gs-plugin-packagekit-refresh.c
+++ b/src/plugins/gs-plugin-packagekit-refresh.c
@@ -276,7 +276,7 @@ gs_plugin_filename_to_app (GsPlugin *plugin,
        gs_app_add_source_id (app, package_id);
        gs_plugin_packagekit_refresh_set_text (app,
                                               pk_details_get_description (item));
-       gs_app_set_url (app, GS_APP_URL_KIND_HOMEPAGE, pk_details_get_url (item));
+       gs_app_set_url (app, AS_URL_KIND_HOMEPAGE, pk_details_get_url (item));
        gs_app_set_size (app, pk_details_get_size (item));
        gs_app_set_licence (app, pk_details_get_license (item));
        gs_plugin_add_app (list, app);


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