[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 03/22] qapi: Convert simple union KeyValue to flat one
From: |
Eric Blake |
Subject: |
Re: [PATCH 03/22] qapi: Convert simple union KeyValue to flat one |
Date: |
Mon, 13 Sep 2021 09:45:16 -0500 |
User-agent: |
NeoMutt/20210205-772-2b4c52 |
On Mon, Sep 13, 2021 at 02:39:13PM +0200, Markus Armbruster wrote:
> Simple unions predate flat unions. Having both complicates the QAPI
> schema language and the QAPI generator. We haven't been using simple
> unions in new code for a long time, because they are less flexible and
> somewhat awkward on the wire.
>
> To prepare for their removal, convert simple union KeyValue to an
> equivalent flat one. Adds some boilerplate to the schema, which is a
> bit ugly, but a lot easier to maintain than the simple union feature.
>
> Cc: Gerd Hoffmann <kraxel@redhat.com>
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> ---
> qapi/ui.json | 30 ++++++++++++++++++++++++++++--
> 1 file changed, 28 insertions(+), 2 deletions(-)
>
> diff --git a/qapi/ui.json b/qapi/ui.json
> index b2cf7a6759..a6b0dce876 100644
> --- a/qapi/ui.json
> +++ b/qapi/ui.json
> @@ -824,6 +824,30 @@
> 'ac_home', 'ac_back', 'ac_forward', 'ac_refresh', 'ac_bookmarks',
> 'lang1', 'lang2' ] }
>
> +##
> +# @KeyValueKind:
> +#
> +# Since: 6.1
6.2 now? Or should this be...
> +
> ##
> # @KeyValue:
> #
> @@ -832,9 +856,11 @@
> # Since: 1.3
...1.3, since the type has been around by that name already (albeit
implicitly) since that older release?
> ##
> { 'union': 'KeyValue',
> + 'base': { 'type': 'KeyValueKind' },
> + 'discriminator': 'type',
> 'data': {
> - 'number': 'int',
> - 'qcode': 'QKeyCode' } }
> + 'number': 'IntWrapper',
> + 'qcode': 'QKeyCodeWrapper' } }
>
I'll trust your decision on the documentation issue; the conversion
itself is sane, so I'm fine with:
Reviewed-by: Eric Blake <eblake@redhat.com>
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3266
Virtualization: qemu.org | libvirt.org
- Re: [PATCH 15/22] tests/qapi-schema: Wean off UserDefListUnion, (continued)
- [PATCH 20/22] tests/qapi-schema: Purge simple unions from tests, Markus Armbruster, 2021/09/13
- [PATCH 03/22] qapi: Convert simple union KeyValue to flat one, Markus Armbruster, 2021/09/13
- [PATCH 07/22] qapi: Convert simple union ChardevBackend to flat one, Markus Armbruster, 2021/09/13
- [PATCH 17/22] tests/qapi-schema: Rewrite simple union TestIfUnion to be flat, Markus Armbruster, 2021/09/13
- [PATCH 09/22] qapi: Convert simple union ImageInfoSpecific to flat one, Markus Armbruster, 2021/09/13
- [PATCH 19/22] tests/qapi-schema: Drop simple union __org.qemu_x-Union1, Markus Armbruster, 2021/09/13