mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-03 07:43:54 -06:00
qapi: Drop support for boxed alternate arguments
Commands and events can define their argument type inline (default) or
by referring to another type ('boxed': true, since commit c818408e44
"qapi: Implement boxed types for commands/events", v2.7.0). The
unboxed inline definition is an (anonymous) struct type. The boxed
type may be a struct, union, or alternate type.
The latter is problematic: docs/interop/qemu-spec.txt requires the
value of the 'data' key to be a json-object, but any non-degenerate
alternate type has at least one branch that isn't.
Fortunately, we haven't made use of alternates in this context outside
tests/. Drop support for them.
QAPISchemaAlternateType.is_empty() is now unused. Drop it, too.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-Id: <20190913201349.24332-4-armbru@redhat.com>
This commit is contained in:
parent
dcca907bed
commit
b22e86585b
4 changed files with 12 additions and 19 deletions
|
@ -612,9 +612,9 @@ the command. Normally, 'data' is a dictionary for an anonymous type,
|
|||
or names a struct type (possibly empty, but not a union), and its
|
||||
members are passed as separate arguments to this function. If the
|
||||
command definition includes a key 'boxed' with the boolean value true,
|
||||
then 'data' is instead the name of any non-empty complex type
|
||||
(struct, union, or alternate), and a pointer to that QAPI type is
|
||||
passed as a single argument.
|
||||
then 'data' is instead the name of any non-empty complex type (struct
|
||||
or union), and a pointer to that QAPI type is passed as a single
|
||||
argument.
|
||||
|
||||
The generator also emits a marshalling function that extracts
|
||||
arguments for the user's function out of an input QDict, calls the
|
||||
|
@ -714,9 +714,9 @@ The generator emits a function to send the event. Normally, 'data' is
|
|||
a dictionary for an anonymous type, or names a struct type (possibly
|
||||
empty, but not a union), and its members are passed as separate
|
||||
arguments to this function. If the event definition includes a key
|
||||
'boxed' with the boolean value true, then 'data' is instead the name of
|
||||
any non-empty complex type (struct, union, or alternate), and a
|
||||
pointer to that QAPI type is passed as a single argument.
|
||||
'boxed' with the boolean value true, then 'data' is instead the name
|
||||
of any non-empty complex type (struct or union), and a pointer to that
|
||||
QAPI type is passed as a single argument.
|
||||
|
||||
|
||||
=== Features ===
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue