[Libosinfo] [libosinfo PATCH] tree: Add "os" property
Fabiano Fidêncio
fidencio at redhat.com
Fri Jul 5 07:31:50 UTC 2019
Similarly to what we have for media, let's add the "os" property to the
trees.
osinfo-detect code is already relying on having an "os" property and,
since commit 722e7d1d4, it errors out due to the missing property:
(osinfo-detect:7808): GLib-GObject-WARNING **: 09:27:58.656: g_object_get_is_valid_property: object class 'OsinfoTree' has no property named 'os
Signed-off-by: Fabiano Fidêncio <fidencio at redhat.com>
---
osinfo/osinfo_tree.c | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/osinfo/osinfo_tree.c b/osinfo/osinfo_tree.c
index b797cb4..a11eee6 100644
--- a/osinfo/osinfo_tree.c
+++ b/osinfo/osinfo_tree.c
@@ -112,6 +112,7 @@ enum {
PROP_INITRD_PATH,
PROP_BOOT_ISO_PATH,
PROP_HAS_TREEINFO,
+ PROP_OS,
};
static void
@@ -173,6 +174,10 @@ osinfo_tree_get_property(GObject *object,
osinfo_tree_has_treeinfo(tree));
break;
+ case PROP_OS:
+ g_value_take_object(value, osinfo_tree_get_os(tree));
+ break;
+
default:
/* We don't have any other property... */
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec);
@@ -250,6 +255,10 @@ osinfo_tree_set_property(GObject *object,
g_value_get_boolean(value));
break;
+ case PROP_OS:
+ osinfo_tree_set_os(tree, g_value_get_object(value));
+ break;
+
default:
/* We don't have any other property... */
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec);
@@ -415,6 +424,22 @@ osinfo_tree_class_init(OsinfoTreeClass *klass)
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS);
g_object_class_install_property(g_klass, PROP_TREEINFO_FAMILY, pspec);
+
+ /**
+ * OsinfoTree:os:
+ *
+ * Os information for the current tree. For tree stored in an
+ * #OsinfoDB, it will be filled when the database is loaded, otherwise
+ * the property will be filled after a successful call to
+ * osinfo_db_identify_tree().
+ */
+ pspec = g_param_spec_object("os",
+ "Os",
+ _("Information about the operating system on this tree"),
+ OSINFO_TYPE_OS,
+ G_PARAM_READWRITE |
+ G_PARAM_STATIC_STRINGS);
+ g_object_class_install_property(g_klass, PROP_OS, pspec);
}
static void
--
2.21.0
More information about the Libosinfo
mailing list