[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 23/26] qom: simplify qmp_device_list_properties()
From: |
Marc-André Lureau |
Subject: |
[PATCH 23/26] qom: simplify qmp_device_list_properties() |
Date: |
Fri, 10 Jan 2020 19:30:36 +0400 |
All qdev properties are object properties, no need for
make_device_property_info() helper.
Signed-off-by: Marc-André Lureau <address@hidden>
---
qom/qom-qmp-cmds.c | 52 +++++-----------------------------------------
1 file changed, 5 insertions(+), 47 deletions(-)
diff --git a/qom/qom-qmp-cmds.c b/qom/qom-qmp-cmds.c
index f4494f98ac..8785816c1f 100644
--- a/qom/qom-qmp-cmds.c
+++ b/qom/qom-qmp-cmds.c
@@ -121,48 +121,6 @@ ObjectTypeInfoList *qmp_qom_list_types(bool has_implements,
return ret;
}
-/* Return a DevicePropertyInfo for a qdev property.
- *
- * If a qdev property with the given name does not exist, use the given default
- * type. If the qdev property info should not be shown, return NULL.
- *
- * The caller must free the return value.
- */
-static ObjectPropertyInfo *make_device_property_info(ObjectClass *klass,
- const char *name,
- const char *default_type,
- const char *description)
-{
- ObjectPropertyInfo *info;
- Property *prop;
-
- do {
- for (prop = DEVICE_CLASS(klass)->props; prop && prop->name; prop++) {
- if (strcmp(name, prop->name) != 0) {
- continue;
- }
-
- info = g_malloc0(sizeof(*info));
- info->name = g_strdup(prop->name);
- info->type = default_type ? g_strdup(default_type)
- : g_strdup(prop->info->name);
- info->has_description = !!prop->info->description;
- info->description = g_strdup(prop->info->description);
- return info;
- }
- klass = object_class_get_parent(klass);
- } while (klass != object_class_by_name(TYPE_DEVICE));
-
- /* Not a qdev property, use the default type */
- info = g_malloc0(sizeof(*info));
- info->name = g_strdup(name);
- info->type = g_strdup(default_type);
- info->has_description = !!description;
- info->description = g_strdup(description);
-
- return info;
-}
-
ObjectPropertyInfoList *qmp_device_list_properties(const char *typename,
Error **errp)
{
@@ -214,11 +172,11 @@ ObjectPropertyInfoList *qmp_device_list_properties(const
char *typename,
continue;
}
- info = make_device_property_info(klass, prop->name, prop->type,
- prop->description);
- if (!info) {
- continue;
- }
+ info = g_new0(ObjectPropertyInfo, 1);
+ info->name = g_strdup(prop->name);
+ info->type = g_strdup(prop->type);
+ info->has_description = !!prop->description;
+ info->description = g_strdup(prop->description);
entry = g_malloc0(sizeof(*entry));
entry->value = info;
--
2.25.0.rc1.20.g2443f3f80d.dirty
- [PATCH 16/26] object: add object_class_property_add_link(), (continued)
- [PATCH 16/26] object: add object_class_property_add_link(), Marc-André Lureau, 2020/01/10
- [PATCH 17/26] object: release all props, Marc-André Lureau, 2020/01/10
- [PATCH 18/26] object: return self in object_ref(), Marc-André Lureau, 2020/01/10
- [PATCH 20/26] qdev: move instance properties to class properties, Marc-André Lureau, 2020/01/10
- [PATCH 21/26] qdev: register properties as class properties, Marc-André Lureau, 2020/01/10
- [PATCH 19/26] qdev: set properties with device_class_set_props(), Marc-André Lureau, 2020/01/10
- [PATCH 22/26] vl: print default value in object help, Marc-André Lureau, 2020/01/10
- [PATCH 23/26] qom: simplify qmp_device_list_properties(),
Marc-André Lureau <=
- [PATCH 24/26] qom: introduce object_property_help(), Marc-André Lureau, 2020/01/10
- [PATCH 25/26] qapi/qmp: add ObjectPropertyInfo.default-value, Marc-André Lureau, 2020/01/10
- [PATCH 26/26] qdev: use object_property_help(), Marc-André Lureau, 2020/01/10
- Re: [PATCH 00/26] Various qom & qdev enhancements, Marc-André Lureau, 2020/01/10