[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v5 2/5] qom: add description field in ObjectProperty
From: |
arei.gonglei |
Subject: |
[Qemu-devel] [PATCH v5 2/5] qom: add description field in ObjectProperty struct |
Date: |
Tue, 7 Oct 2014 14:33:21 +0800 |
From: Gonglei <address@hidden>
The descriptions can serve as documentation in the code,
and they can be used to provide better help.
Copy property descriptions when copying alias properties.
Cc: Paolo Bonzini <address@hidden>
Cc: Michael S. Tsirkin <address@hidden>
Cc: Markus Armbruster <address@hidden>
Signed-off-by: Gonglei <address@hidden>
Reviewed-by: Paolo Bonzini <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
---
include/qom/object.h | 14 ++++++++++++++
qom/object.c | 20 ++++++++++++++++++++
2 files changed, 34 insertions(+)
diff --git a/include/qom/object.h b/include/qom/object.h
index 8a05a81..89c3092 100644
--- a/include/qom/object.h
+++ b/include/qom/object.h
@@ -338,6 +338,7 @@ typedef struct ObjectProperty
{
gchar *name;
gchar *type;
+ gchar *description;
ObjectPropertyAccessor *get;
ObjectPropertyAccessor *set;
ObjectPropertyResolve *resolve;
@@ -1275,6 +1276,19 @@ void object_property_add_alias(Object *obj, const char
*name,
Error **errp);
/**
+ * object_property_set_description:
+ * @obj: the object owning the property
+ * @name: the name of the property
+ * @description: the description of the property on the object
+ * @errp: if an error occurs, a pointer to an area to store the error
+ *
+ * Set an object property's description.
+ *
+ */
+void object_property_set_description(Object *obj, const char *name,
+ const char *description, Error **errp);
+
+/**
* object_child_foreach:
* @obj: the object whose children will be navigated
* @fn: the iterator function to be called
diff --git a/qom/object.c b/qom/object.c
index 575291f..a751367 100644
--- a/qom/object.c
+++ b/qom/object.c
@@ -369,6 +369,7 @@ static void object_property_del_all(Object *obj)
g_free(prop->name);
g_free(prop->type);
+ g_free(prop->description);
g_free(prop);
}
}
@@ -803,6 +804,7 @@ void object_property_del(Object *obj, const char *name,
Error **errp)
g_free(prop->name);
g_free(prop->type);
+ g_free(prop->description);
g_free(prop);
}
@@ -1672,10 +1674,28 @@ void object_property_add_alias(Object *obj, const char
*name,
}
op->resolve = property_resolve_alias;
+ object_property_set_description(obj, name,
+ target_prop->description,
+ &error_abort);
+
out:
g_free(prop_type);
}
+void object_property_set_description(Object *obj, const char *name,
+ const char *description, Error **errp)
+{
+ ObjectProperty *op;
+
+ op = object_property_find(obj, name, errp);
+ if (!op) {
+ return;
+ }
+
+ g_free(op->description);
+ op->description = g_strdup(description);
+}
+
static void object_instance_init(Object *obj)
{
object_property_add_str(obj, "type", qdev_get_type, NULL, NULL);
--
1.7.12.4
- [Qemu-devel] [PATCH v5 0/5] add description field in ObjectProperty and PropertyInfo struct, arei.gonglei, 2014/10/07
- [Qemu-devel] [PATCH v5 3/5] qdev: set the object property's description to the qdev property's., arei.gonglei, 2014/10/07
- [Qemu-devel] [PATCH v5 4/5] qmp: print descriptions of object properties, arei.gonglei, 2014/10/07
- [Qemu-devel] [PATCH v5 5/5] qdev: drop legacy_name from qdev properties, arei.gonglei, 2014/10/07
- [Qemu-devel] [PATCH v5 2/5] qom: add description field in ObjectProperty struct,
arei.gonglei <=
- [Qemu-devel] [PATCH v5 1/5] qdev: add description field in PropertyInfo struct, arei.gonglei, 2014/10/07
- Re: [Qemu-devel] [PATCH v5 0/5] add description field in ObjectProperty and PropertyInfo struct, Paolo Bonzini, 2014/10/07