[gnome-software] trivial: Add a way to get the CPE name



commit 78dc7b1c06d53308cb63c21bbd29f266644df13d
Author: Richard Hughes <richard hughsie com>
Date:   Thu May 11 15:17:32 2017 +0100

    trivial: Add a way to get the CPE name

 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 8ed662f..3a997ca 100644
--- a/lib/gs-os-release.c
+++ b/lib/gs-os-release.c
@@ -45,6 +45,7 @@ struct _GsOsRelease
        gchar                   *id;
        gchar                   *version_id;
        gchar                   *pretty_name;
+       gchar                   *cpe_name;
        gchar                   *distro_codename;
 };
 
@@ -117,6 +118,10 @@ gs_os_release_initable_init (GInitable *initable,
                        os_release->pretty_name = g_strdup (tmp);
                        continue;
                }
+               if (g_strcmp0 (lines[i], "CPE_NAME") == 0) {
+                       os_release->cpe_name = g_strdup (tmp);
+                       continue;
+               }
                if (g_strcmp0 (lines[i], "UBUNTU_CODENAME") == 0) {
                        os_release->distro_codename = g_strdup (tmp);
                        continue;
@@ -211,6 +216,23 @@ gs_os_release_get_pretty_name (GsOsRelease *os_release)
 }
 
 /**
+ * gs_os_release_get_cpe_name:
+ * @os_release: A #GsOsRelease
+ *
+ * Gets the pretty name from the os-release parser.
+ *
+ * Returns: a string, or %NULL
+ *
+ * Since: 3.22
+ **/
+const gchar *
+gs_os_release_get_cpe_name (GsOsRelease *os_release)
+{
+       g_return_val_if_fail (GS_IS_OS_RELEASE (os_release), NULL);
+       return os_release->cpe_name;
+}
+
+/**
  * gs_os_release_get_distro_codename:
  * @os_release: A #GsOsRelease
  *
@@ -236,6 +258,7 @@ gs_os_release_finalize (GObject *object)
        g_free (os_release->id);
        g_free (os_release->version_id);
        g_free (os_release->pretty_name);
+       g_free (os_release->cpe_name);
        g_free (os_release->distro_codename);
        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 7bf5b15..45876c6 100644
--- a/lib/gs-os-release.h
+++ b/lib/gs-os-release.h
@@ -39,6 +39,7 @@ const gchar   *gs_os_release_get_version              (GsOsRelease    *os_release);
 const gchar    *gs_os_release_get_id                   (GsOsRelease    *os_release);
 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);
 
 G_END_DECLS


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