[Libosinfo] [libosinfo PATCH 1/2] product: Add osinfo_product_get_short_id_list() API

Fabiano Fidêncio fidencio at redhat.com
Mon Apr 29 08:51:39 UTC 2019


As multiple short-ids is fully supported, let's add a new API for
getting the whole list instead.

https://gitlab.com/libosinfo/libosinfo/issues/19

Signed-off-by: Fabiano Fidêncio <fidencio at redhat.com>
---
 osinfo/libosinfo.syms   |  2 ++
 osinfo/osinfo_product.c | 14 ++++++++++++++
 osinfo/osinfo_product.h |  1 +
 3 files changed, 17 insertions(+)

diff --git a/osinfo/libosinfo.syms b/osinfo/libosinfo.syms
index db8b595..853acf5 100644
--- a/osinfo/libosinfo.syms
+++ b/osinfo/libosinfo.syms
@@ -577,6 +577,8 @@ LIBOSINFO_1.5.0 {
 	osinfo_install_config_get_installation_url;
 	osinfo_install_config_set_installation_url;
 
+	osinfo_product_get_short_id_list;
+
 	osinfo_tree_get_os;
 	osinfo_tree_get_os_variants;
 	osinfo_tree_set_os;
diff --git a/osinfo/osinfo_product.c b/osinfo/osinfo_product.c
index 740785e..a598312 100644
--- a/osinfo/osinfo_product.c
+++ b/osinfo/osinfo_product.c
@@ -437,3 +437,17 @@ void osinfo_product_foreach_related(OsinfoProduct *product,
     }
     g_object_unref(related_list);
 }
+
+/**
+ * osinfo_product_get_short_id_list:
+ * @prod: an #OsinfoProduct
+ *
+ * Retrieve all the short-ids associated with the product.
+ *
+ * Returns: (transfer container) (element-type utf8): the list of short-ids.
+ */
+GList *osinfo_product_get_short_id_list(OsinfoProduct *prod)
+{
+    return osinfo_entity_get_param_value_list(OSINFO_ENTITY(prod),
+                                              OSINFO_PRODUCT_PROP_SHORT_ID);
+}
diff --git a/osinfo/osinfo_product.h b/osinfo/osinfo_product.h
index 611dc6e..48de3d4 100644
--- a/osinfo/osinfo_product.h
+++ b/osinfo/osinfo_product.h
@@ -98,5 +98,6 @@ GDate *osinfo_product_get_release_date(OsinfoProduct *prod);
 GDate *osinfo_product_get_eol_date(OsinfoProduct *prod);
 const gchar *osinfo_product_get_logo(OsinfoProduct *prod);
 
+GList *osinfo_product_get_short_id_list(OsinfoProduct *prod);
 
 #endif /* __OSINFO_PRODUCT_H__ */
-- 
2.21.0




More information about the Libosinfo mailing list