[Libosinfo] [libosinfo PATCH 2/3] osinfo-query: Add real_prop to OsinfoLabel
Fabiano Fidêncio
fidencio at redhat.com
Mon Apr 15 07:58:21 UTC 2019
real_prop is going to be used to map a command-line option to a real
option whenever we're dealing with sub-properties that happen to have
the very same name as a property that's already taken into
consideration.
One example of this is when getting os variants. For this we'd need to
get OsVariant::name, while we already search for Os::name. In order to
solve this ambiguity, let's have a name that we can expose to the
command line a and the real_prop that we could get whenever it's needed.
https://gitlab.com/libosinfo/libosinfo/issues/24
Signed-off-by: Fabiano Fidêncio <fidencio at redhat.com>
---
tools/osinfo-query.c | 63 ++++++++++++++++++++++----------------------
1 file changed, 32 insertions(+), 31 deletions(-)
diff --git a/tools/osinfo-query.c b/tools/osinfo-query.c
index 045f3c1..dff2bd7 100644
--- a/tools/osinfo-query.c
+++ b/tools/osinfo-query.c
@@ -36,6 +36,7 @@ typedef OsinfoList * (*osinfo_os_list_func)(OsinfoOs *os);
struct OsinfoLabel {
const gchar *prop;
+ const gchar *real_prop;
const gchar *label;
gboolean enabled;
gsize width;
@@ -54,73 +55,73 @@ struct OsinfoType {
};
static struct OsinfoLabel os_labels[] = {
- { OSINFO_PRODUCT_PROP_SHORT_ID,
+ { OSINFO_PRODUCT_PROP_SHORT_ID, NULL,
N_("Short ID"), TRUE, 20, NULL },
- { OSINFO_PRODUCT_PROP_NAME,
+ { OSINFO_PRODUCT_PROP_NAME, NULL,
N_("Name"), TRUE, 50, NULL },
- { OSINFO_PRODUCT_PROP_VERSION,
+ { OSINFO_PRODUCT_PROP_VERSION, NULL,
N_("Version"), TRUE, 8, NULL },
- { OSINFO_OS_PROP_FAMILY,
+ { OSINFO_OS_PROP_FAMILY, NULL,
N_("Family"), FALSE, 12, NULL },
- { OSINFO_OS_PROP_DISTRO,
+ { OSINFO_OS_PROP_DISTRO, NULL,
N_("Distro"), FALSE, 12, NULL },
- { OSINFO_PRODUCT_PROP_VENDOR,
+ { OSINFO_PRODUCT_PROP_VENDOR, NULL,
N_("Vendor"), FALSE, 25, NULL },
- { OSINFO_PRODUCT_PROP_RELEASE_DATE,
+ { OSINFO_PRODUCT_PROP_RELEASE_DATE, NULL,
N_("Release date"), FALSE, 12, NULL },
- { OSINFO_PRODUCT_PROP_EOL_DATE,
+ { OSINFO_PRODUCT_PROP_EOL_DATE, NULL,
N_("End of life"), FALSE, 12, NULL },
- { OSINFO_PRODUCT_PROP_CODENAME,
+ { OSINFO_PRODUCT_PROP_CODENAME, NULL,
N_("Code name"), FALSE, 10, NULL },
- { OSINFO_ENTITY_PROP_ID,
+ { OSINFO_ENTITY_PROP_ID, NULL,
N_("ID"), TRUE, 40, NULL },
- { NULL, NULL, 0, 0, NULL}
+ { NULL, NULL, NULL, 0, 0, NULL}
};
static struct OsinfoLabel platform_labels[] = {
- { OSINFO_PRODUCT_PROP_SHORT_ID,
+ { OSINFO_PRODUCT_PROP_SHORT_ID, NULL,
N_("Short ID"), TRUE, 20, NULL },
- { OSINFO_PRODUCT_PROP_NAME,
+ { OSINFO_PRODUCT_PROP_NAME, NULL,
N_("Name"), TRUE, 50, NULL },
- { OSINFO_PRODUCT_PROP_VERSION,
+ { OSINFO_PRODUCT_PROP_VERSION, NULL,
N_("Version"), TRUE, 8, NULL },
- { OSINFO_PRODUCT_PROP_VENDOR,
+ { OSINFO_PRODUCT_PROP_VENDOR, NULL,
N_("Vendor"), TRUE, 25, NULL },
- { OSINFO_PRODUCT_PROP_RELEASE_DATE,
+ { OSINFO_PRODUCT_PROP_RELEASE_DATE, NULL,
N_("Release date"), FALSE, 12, NULL },
- { OSINFO_PRODUCT_PROP_EOL_DATE,
+ { OSINFO_PRODUCT_PROP_EOL_DATE, NULL,
N_("End of life"), FALSE, 12, NULL },
- { OSINFO_PRODUCT_PROP_CODENAME,
+ { OSINFO_PRODUCT_PROP_CODENAME, NULL,
N_("Code name"), FALSE, 10, NULL },
- { OSINFO_ENTITY_PROP_ID,
+ { OSINFO_ENTITY_PROP_ID, NULL,
N_("ID"), TRUE, 40, NULL },
- { NULL, NULL, 0, 0, NULL },
+ { NULL, NULL, NULL, 0, 0, NULL },
};
static struct OsinfoLabel device_labels[] = {
- { OSINFO_DEVICE_PROP_VENDOR,
+ { OSINFO_DEVICE_PROP_VENDOR, NULL,
N_("Vendor"), TRUE, 20, NULL },
- { OSINFO_DEVICE_PROP_VENDOR_ID,
+ { OSINFO_DEVICE_PROP_VENDOR_ID, NULL,
N_("Vendor ID"), TRUE, 12, NULL },
- { OSINFO_DEVICE_PROP_PRODUCT,
+ { OSINFO_DEVICE_PROP_PRODUCT, NULL,
N_("Product"), TRUE, 20 ,NULL },
- { OSINFO_DEVICE_PROP_PRODUCT_ID,
+ { OSINFO_DEVICE_PROP_PRODUCT_ID, NULL,
N_("Product ID"), TRUE, 12, NULL },
- { OSINFO_PRODUCT_PROP_NAME,
+ { OSINFO_PRODUCT_PROP_NAME, NULL,
N_("Name"), TRUE, 14, NULL },
- { OSINFO_DEVICE_PROP_CLASS,
+ { OSINFO_DEVICE_PROP_CLASS, NULL,
N_("Class"), TRUE, 15, NULL },
- { OSINFO_DEVICE_PROP_BUS_TYPE,
+ { OSINFO_DEVICE_PROP_BUS_TYPE, NULL,
N_("Bus"), TRUE, 8, NULL },
- { OSINFO_ENTITY_PROP_ID,
+ { OSINFO_ENTITY_PROP_ID, NULL,
N_("ID"), TRUE, 40, NULL },
- { NULL, NULL, 0, 0, NULL },
+ { NULL, NULL, NULL, 0, 0, NULL },
};
static struct OsinfoLabel deployment_labels[] = {
- { OSINFO_ENTITY_PROP_ID,
+ { OSINFO_ENTITY_PROP_ID, NULL,
N_("ID"), TRUE, 40, NULL },
- { NULL, NULL, 0, 0, NULL },
+ { NULL, NULL, NULL, 0, 0, NULL },
};
--
2.20.1
More information about the Libosinfo
mailing list