[gnome-software] trivial: Add a way to get the distro homepage



commit bef698d87d4b142fbd3266396dda57ab056c10fd
Author: Richard Hughes <richard hughsie com>
Date:   Fri May 12 12:05:58 2017 +0100

    trivial: Add a way to get the distro homepage

 lib/gs-os-release.c |   23 +++++++++++++++++++++++
 lib/gs-os-release.h |    1 +
 2 files changed, 24 insertions(+), 0 deletions(-)
---
diff --git a/lib/gs-os-release.c b/lib/gs-os-release.c
index 3a997ca..2c3b1cb 100644
--- a/lib/gs-os-release.c
+++ b/lib/gs-os-release.c
@@ -47,6 +47,7 @@ struct _GsOsRelease
        gchar                   *pretty_name;
        gchar                   *cpe_name;
        gchar                   *distro_codename;
+       gchar                   *home_url;
 };
 
 static void gs_os_release_initable_iface_init (GInitableIface *iface);
@@ -126,6 +127,10 @@ gs_os_release_initable_init (GInitable *initable,
                        os_release->distro_codename = g_strdup (tmp);
                        continue;
                }
+               if (g_strcmp0 (lines[i], "HOME_URL") == 0) {
+                       os_release->home_url = g_strdup (tmp);
+                       continue;
+               }
        }
        return TRUE;
 }
@@ -249,6 +254,23 @@ gs_os_release_get_distro_codename (GsOsRelease *os_release)
        return os_release->distro_codename;
 }
 
+/**
+ * gs_os_release_get_home_url:
+ * @os_release: A #GsOsRelease
+ *
+ * Gets the home URL from the os-release parser.
+ *
+ * Returns: a string, or %NULL
+ *
+ * Since: 3.22
+ **/
+const gchar *
+gs_os_release_get_home_url (GsOsRelease *os_release)
+{
+       g_return_val_if_fail (GS_IS_OS_RELEASE (os_release), NULL);
+       return os_release->home_url;
+}
+
 static void
 gs_os_release_finalize (GObject *object)
 {
@@ -260,6 +282,7 @@ gs_os_release_finalize (GObject *object)
        g_free (os_release->pretty_name);
        g_free (os_release->cpe_name);
        g_free (os_release->distro_codename);
+       g_free (os_release->home_url);
        G_OBJECT_CLASS (gs_os_release_parent_class)->finalize (object);
 }
 
diff --git a/lib/gs-os-release.h b/lib/gs-os-release.h
index 45876c6..8da104a 100644
--- a/lib/gs-os-release.h
+++ b/lib/gs-os-release.h
@@ -41,6 +41,7 @@ const gchar   *gs_os_release_get_version_id           (GsOsRelease    *os_release);
 const gchar    *gs_os_release_get_pretty_name          (GsOsRelease    *os_release);
 const gchar    *gs_os_release_get_cpe_name             (GsOsRelease    *os_release);
 const gchar    *gs_os_release_get_distro_codename      (GsOsRelease    *os_release);
+const gchar    *gs_os_release_get_home_url             (GsOsRelease    *os_release);
 
 G_END_DECLS
 


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