aboutsummaryrefslogtreecommitdiff
path: root/qmp.c
diff options
context:
space:
mode:
authorEduardo Habkost <ehabkost@redhat.com>2017-07-07 09:22:14 -0300
committerEduardo Habkost <ehabkost@redhat.com>2017-07-17 15:41:30 -0300
commit87467eae37e9b4727152292e09acead3ba3c95ed (patch)
tree07e098551d0f372761ae90704757b71ce085f449 /qmp.c
parentdbb2a604a94f3899fa34bd1ede462f213e822e03 (diff)
qmp: Include 'abstract' field on 'qom-list-types' output
A client may be interested in getting the list of both abstract and non-abstract types. Instead of requiring them to make multiple queries with different filter arguments, just return an 'abstract' field in 'qom-list-types'. In addition to the new test code for validating this field, update the abstract-interfaces test case to query for all 'interface' subtypes (including abstract ones), and to look at the 'abstract' field directly. Reviewed-by: Eric Blake <eblake@redhat.com> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> Message-Id: <20170707122215.8819-3-ehabkost@redhat.com> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Diffstat (limited to 'qmp.c')
-rw-r--r--qmp.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/qmp.c b/qmp.c
index 2cd40c3080..7a9de06af4 100644
--- a/qmp.c
+++ b/qmp.c
@@ -433,6 +433,7 @@ static void qom_list_types_tramp(ObjectClass *klass, void *data)
info = g_malloc0(sizeof(*info));
info->name = g_strdup(object_class_get_name(klass));
+ info->has_abstract = info->abstract = object_class_is_abstract(klass);
e = g_malloc0(sizeof(*e));
e->value = info;