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. > ## > { '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> -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org