From: "Daniel P. Berrange" <berrange@xxxxxxxxxx> --- osinfo/osinfo_loader.c | 1 + osinfo/osinfo_product.c | 26 ++++++++++++++++++++++++++ osinfo/osinfo_product.h | 2 ++ 3 files changed, 29 insertions(+), 0 deletions(-) diff --git a/osinfo/osinfo_loader.c b/osinfo/osinfo_loader.c index 6c55e29..cb3f19e 100644 --- a/osinfo/osinfo_loader.c +++ b/osinfo/osinfo_loader.c @@ -372,6 +372,7 @@ static void osinfo_loader_product(OsinfoLoader *loader, OSINFO_PRODUCT_PROP_SHORT_ID, OSINFO_PRODUCT_PROP_RELEASE_DATE, OSINFO_PRODUCT_PROP_EOL_DATE, + OSINFO_PRODUCT_PROP_CODENAME, NULL, }; diff --git a/osinfo/osinfo_product.c b/osinfo/osinfo_product.c index 4978655..a67ad4a 100644 --- a/osinfo/osinfo_product.c +++ b/osinfo/osinfo_product.c @@ -73,6 +73,7 @@ enum { PROP_SHORT_ID, PROP_VENDOR, PROP_VERSION, + PROP_CODENAME, }; static void osinfo_product_link_free(gpointer data, gpointer opaque G_GNUC_UNUSED) @@ -124,6 +125,11 @@ osinfo_product_get_property (GObject *object, osinfo_product_get_version (product)); break; + case PROP_CODENAME: + g_value_set_string (value, + osinfo_product_get_codename (product)); + break; + default: /* We don't have any other property... */ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); @@ -201,6 +207,21 @@ osinfo_product_class_init (OsinfoProductClass *klass) G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB); g_object_class_install_property (g_klass, PROP_VERSION, pspec); + + /** + * OsinfoProduct::codename: + * + * The codename of this product. + */ + pspec = g_param_spec_string ("codename", + "Codename", + "Codename", + NULL /* default value */, + G_PARAM_READABLE | + G_PARAM_STATIC_NAME | + G_PARAM_STATIC_NICK | + G_PARAM_STATIC_BLURB); + g_object_class_install_property (g_klass, PROP_NAME, pspec); } static void @@ -283,6 +304,11 @@ const gchar *osinfo_product_get_name(OsinfoProduct *prod) return osinfo_entity_get_param_value(OSINFO_ENTITY(prod), OSINFO_PRODUCT_PROP_NAME); } +const gchar *osinfo_product_get_codename(OsinfoProduct *prod) +{ + return osinfo_entity_get_param_value(OSINFO_ENTITY(prod), OSINFO_PRODUCT_PROP_CODENAME); +} + const gchar *osinfo_product_get_release_date_string(OsinfoProduct *prod) { return osinfo_entity_get_param_value(OSINFO_ENTITY(prod), OSINFO_PRODUCT_PROP_RELEASE_DATE); diff --git a/osinfo/osinfo_product.h b/osinfo/osinfo_product.h index 4db6df9..7bd4198 100644 --- a/osinfo/osinfo_product.h +++ b/osinfo/osinfo_product.h @@ -50,6 +50,7 @@ typedef struct _OsinfoProductPrivate OsinfoProductPrivate; #define OSINFO_PRODUCT_PROP_NAME "name" #define OSINFO_PRODUCT_PROP_RELEASE_DATE "release-date" #define OSINFO_PRODUCT_PROP_EOL_DATE "eol-date" +#define OSINFO_PRODUCT_PROP_CODENAME "codename" /* object */ struct _OsinfoProduct @@ -87,6 +88,7 @@ const gchar *osinfo_product_get_vendor(OsinfoProduct *prod); const gchar *osinfo_product_get_version(OsinfoProduct *prod); const gchar *osinfo_product_get_short_id(OsinfoProduct *prod); const gchar *osinfo_product_get_name(OsinfoProduct *prod); +const gchar *osinfo_product_get_codename(OsinfoProduct *prod); const gchar *osinfo_product_get_release_date_string(OsinfoProduct *prod); const gchar *osinfo_product_get_eol_date_string(OsinfoProduct *prod); -- 1.7.7.6