[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 04/22] qapi: Convert simple union InputEvent to flat one
From: |
Eric Blake |
Subject: |
Re: [PATCH 04/22] qapi: Convert simple union InputEvent to flat one |
Date: |
Mon, 13 Sep 2021 09:46:37 -0500 |
User-agent: |
NeoMutt/20210205-772-2b4c52 |
On Mon, Sep 13, 2021 at 02:39:14PM +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 InputEvent 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 | 42 ++++++++++++++++++++++++++++++++++++++----
> 1 file changed, 38 insertions(+), 4 deletions(-)
Same question as in 3/22:
>
> diff --git a/qapi/ui.json b/qapi/ui.json
> index a6b0dce876..fe10d69431 100644
> --- a/qapi/ui.json
> +++ b/qapi/ui.json
> @@ -960,6 +960,38 @@
> 'data' : { 'axis' : 'InputAxis',
> 'value' : 'int' } }
>
> +##
> +# @InputEventKind:
> +#
> +# Since: 6.1
This should either be 6.2, or...
> ##
> # @InputEvent:
> #
> @@ -975,10 +1007,12 @@
> # Since: 2.0
...2.0.
> ##
> { 'union' : 'InputEvent',
> - 'data' : { 'key' : 'InputKeyEvent',
> - 'btn' : 'InputBtnEvent',
> - 'rel' : 'InputMoveEvent',
> - 'abs' : 'InputMoveEvent' } }
> + 'base': { 'type': 'InputEventKind' },
> + 'discriminator': 'type',
> + 'data' : { 'key' : 'InputKeyEventWrapper',
> + 'btn' : 'InputBtnEventWrapper',
> + 'rel' : 'InputMoveEventWrapper',
> + 'abs' : 'InputMoveEventWrapper' } }
But as with that patch, I trust your decision on docs, and the
conversion itself is sane.
Reviewed-by: Eric Blake <eblake@redhat.com>
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3266
Virtualization: qemu.org | libvirt.org
- [PATCH 00/22] qapi: Remove simple unions from the schema language, Markus Armbruster, 2021/09/13
- [PATCH 02/22] qapi: Stop enforcing "type name should not end in 'Kind', Markus Armbruster, 2021/09/13
- [PATCH 06/22] qapi: Convert simple union MemoryDeviceInfo to flat one, Markus Armbruster, 2021/09/13
- [PATCH 10/22] qapi: Convert simple union TransactionAction to flat one, Markus Armbruster, 2021/09/13
- [PATCH 05/22] qapi: Convert simple union TpmTypeOptions to flat one, Markus Armbruster, 2021/09/13
- [PATCH 04/22] qapi: Convert simple union InputEvent to flat one, Markus Armbruster, 2021/09/13
- [PATCH 12/22] test-qobject-input-visitor: Wean off UserDefListUnion, Markus Armbruster, 2021/09/13
- [PATCH 11/22] tests/qapi-schema: Prepare for simple union UserDefListUnion removal, Markus Armbruster, 2021/09/13
- [PATCH 16/22] tests/qapi-schema: Simple union UserDefListUnion is now unused, drop, Markus Armbruster, 2021/09/13
- [PATCH 14/22] test-clone-visitor: Wean off UserDefListUnion, Markus Armbruster, 2021/09/13