aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/devel/qapi-code-gen.rst21
1 files changed, 20 insertions, 1 deletions
diff --git a/docs/devel/qapi-code-gen.rst b/docs/devel/qapi-code-gen.rst
index b56ea4546d..3a817ba498 100644
--- a/docs/devel/qapi-code-gen.rst
+++ b/docs/devel/qapi-code-gen.rst
@@ -1357,7 +1357,7 @@ qmp_my_command(); everything else is produced by the generator. ::
$ cat example-schema.json
{ 'struct': 'UserDefOne',
- 'data': { 'integer': 'int', '*string': 'str' } }
+ 'data': { 'integer': 'int', '*string': 'str', '*flag': 'bool' } }
{ 'command': 'my-command',
'data': { 'arg1': ['UserDefOne'] },
@@ -1412,6 +1412,8 @@ Example::
int64_t integer;
bool has_string;
char *string;
+ bool has_flag;
+ bool flag;
};
void qapi_free_UserDefOne(UserDefOne *obj);
@@ -1531,6 +1533,11 @@ Example::
return false;
}
}
+ if (visit_optional(v, "flag", &obj->has_flag)) {
+ if (!visit_type_bool(v, "flag", &obj->flag, errp)) {
+ return false;
+ }
+ }
return true;
}
@@ -1916,6 +1923,12 @@ Example::
{ "type", QLIT_QSTR("str"), },
{}
})),
+ QLIT_QDICT(((QLitDictEntry[]) {
+ { "default", QLIT_QNULL, },
+ { "name", QLIT_QSTR("flag"), },
+ { "type", QLIT_QSTR("bool"), },
+ {}
+ })),
{}
})), },
{ "meta-type", QLIT_QSTR("object"), },
@@ -1949,6 +1962,12 @@ Example::
{ "name", QLIT_QSTR("str"), },
{}
})),
+ QLIT_QDICT(((QLitDictEntry[]) {
+ { "json-type", QLIT_QSTR("boolean"), },
+ { "meta-type", QLIT_QSTR("builtin"), },
+ { "name", QLIT_QSTR("bool"), },
+ {}
+ })),
{}
}));