mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-01 23:03:54 -06:00
qapi: Introduce a first class 'null' type
I expect the 'null' type to be useful mostly for members of alternate types. Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Daniel P. Berrange <berrange@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com>
This commit is contained in:
parent
d2f95f4d48
commit
4d2d5c41a9
8 changed files with 31 additions and 8 deletions
|
@ -282,6 +282,7 @@ The following types are predefined, and map to C as follows:
|
|||
size uint64_t like uint64_t, except StringInputVisitor
|
||||
accepts size suffixes
|
||||
bool bool JSON true or false
|
||||
null QNull * JSON null
|
||||
any QObject * any JSON value
|
||||
QType QType JSON string matching enum QType values
|
||||
|
||||
|
@ -536,10 +537,11 @@ can only express a choice between types represented differently in
|
|||
JSON. If a branch is typed as the 'bool' built-in, the alternate
|
||||
accepts true and false; if it is typed as any of the various numeric
|
||||
built-ins, it accepts a JSON number; if it is typed as a 'str'
|
||||
built-in or named enum type, it accepts a JSON string; and if it is
|
||||
typed as a complex type (struct or union), it accepts a JSON object.
|
||||
Two different complex types, for instance, aren't permitted, because
|
||||
both are represented as a JSON object.
|
||||
built-in or named enum type, it accepts a JSON string; if it is typed
|
||||
as the 'null' built-in, it accepts JSON null; and if it is typed as a
|
||||
complex type (struct or union), it accepts a JSON object. Two
|
||||
different complex types, for instance, aren't permitted, because both
|
||||
are represented as a JSON object.
|
||||
|
||||
The example alternate declaration above allows using both of the
|
||||
following example objects:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue