Eric Blake <ebl...@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 <kra...@redhat.com>
>> Signed-off-by: Markus Armbruster <arm...@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 <ebl...@redhat.com>

Thanks!


Reply via email to