[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: |
Markus Armbruster |
Subject: |
Re: [PATCH 04/22] qapi: Convert simple union InputEvent to flat one |
Date: |
Tue, 14 Sep 2021 06:55:15 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) |
Eric Blake <eblake@redhat.com> writes:
> 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.
Same answer: 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>
Thanks!
- [PATCH 02/22] qapi: Stop enforcing "type name should not end in 'Kind', (continued)
- [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