[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v6 08/16] qapi: support implicit structs in OptsVisi
From: |
Eric Blake |
Subject: |
[Qemu-devel] [PATCH v6 08/16] qapi: support implicit structs in OptsVisitor |
Date: |
Wed, 23 Dec 2015 13:55:37 -0700 |
From: Kővágó, Zoltán <address@hidden>
They are required for flat unions (you still have to allocate the
structs).
Signed-off-by: Kővágó, Zoltán <address@hidden>
Message-Id: <address@hidden>
[rebase to latest tree]
Signed-off-by: Eric Blake <address@hidden>
---
v6: rebase from original posting and add to series
---
qapi/opts-visitor.c | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/qapi/opts-visitor.c b/qapi/opts-visitor.c
index 28f9a8a..286d655 100644
--- a/qapi/opts-visitor.c
+++ b/qapi/opts-visitor.c
@@ -157,6 +157,12 @@ opts_start_struct(Visitor *v, const char *name, void **obj,
return result;
}
+static bool
+opts_start_implicit_struct(Visitor *v, void **obj, size_t size, Error **errp)
+{
+ return opts_start_struct(v, NULL, obj, size, errp);
+}
+
static void
opts_check_struct(Visitor *v, Error **errp)
@@ -199,6 +205,12 @@ opts_end_struct(Visitor *v)
ov->fake_id_opt = NULL;
}
+static void
+opts_end_implicit_struct(Visitor *v)
+{
+ opts_end_struct(v);
+}
+
static GQueue *
lookup_distinct(const OptsVisitor *ov, const char *name, Error **errp)
@@ -521,6 +533,9 @@ opts_visitor_new(const QemuOpts *opts)
ov->visitor.check_struct = &opts_check_struct;
ov->visitor.end_struct = &opts_end_struct;
+ ov->visitor.start_implicit_struct = &opts_start_implicit_struct;
+ ov->visitor.end_implicit_struct = &opts_end_implicit_struct;
+
ov->visitor.start_list = &opts_start_list;
ov->visitor.next_list = &opts_next_list;
ov->visitor.end_list = &opts_end_list;
--
2.4.3
- [Qemu-devel] [PATCH v6 00/16] qapi netdev_add introspection (post-introspection cleanups subset F), Eric Blake, 2015/12/23
- [Qemu-devel] [PATCH v6 03/16] qapi: Forbid empty unions and useless alternates, Eric Blake, 2015/12/23
- [Qemu-devel] [PATCH v6 04/16] qapi: Drop useless 'data' member of unions, Eric Blake, 2015/12/23
- [Qemu-devel] [PATCH v6 01/16] net: use Netdev instead of NetClientOptions in client init, Eric Blake, 2015/12/23
- [Qemu-devel] [PATCH v6 08/16] qapi: support implicit structs in OptsVisitor,
Eric Blake <=
- [Qemu-devel] [PATCH v6 07/16] qapi: Implement boxed types for commands/events, Eric Blake, 2015/12/23
- [Qemu-devel] [PATCH v6 05/16] qapi: Hide tag_name data member of variants, Eric Blake, 2015/12/23
- [Qemu-devel] [PATCH v6 02/16] qapi: Avoid use of 'data' member of qapi unions, Eric Blake, 2015/12/23
- [Qemu-devel] [PATCH v6 06/16] qapi: Plumb in 'box' to qapi generator lower levels, Eric Blake, 2015/12/23
- [Qemu-devel] [PATCH v6 11/16] net: Complete qapi-fication of netdev_add, Eric Blake, 2015/12/23
- [Qemu-devel] [PATCH v6 14/16] qapi: Use anonymous base in Netdev, Eric Blake, 2015/12/23
- [Qemu-devel] [PATCH v6 13/16] qapi: Use anonymous base in SchemaInfo, Eric Blake, 2015/12/23
- [Qemu-devel] [PATCH v6 15/16] qapi: Use anonymous base in CpuInfo, Eric Blake, 2015/12/23
- [Qemu-devel] [PATCH v6 10/16] net: Use correct type for bool flag, Eric Blake, 2015/12/23
- [Qemu-devel] [PATCH v6 16/16] qapi: Populate info['name'] for each entity, Eric Blake, 2015/12/23