aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkus Armbruster <armbru@redhat.com>2018-07-18 11:05:57 +0200
committerMarkus Armbruster <armbru@redhat.com>2018-07-23 13:57:52 +0200
commit25b1ef31db30a7dace4d3a485f0a3b3c7285a795 (patch)
tree72b0529c61b5b3b14a5f4c8f309aa36adb5c8c70
parent6598f0cdad6acc6674c4f060fa46e537228c2c47 (diff)
qapi: Make 'allow-oob' optional in SchemaInfoCommand
Making 'allow-oob' optional in SchemaInfoCommand permits omitting it in the common case. Shrinks query-qmp-schema's output from 122.1KiB to 118.6KiB for me. Note that out-of-band execution is still experimental (you have to configure the monitor with x-oob=on to use it). Signed-off-by: Markus Armbruster <armbru@redhat.com> Message-Id: <20180718090557.17248-1-armbru@redhat.com> Reviewed-by: Peter Xu <peterx@redhat.com>
-rw-r--r--qapi/introspect.json6
-rw-r--r--scripts/qapi/introspect.py10
2 files changed, 8 insertions, 8 deletions
diff --git a/qapi/introspect.json b/qapi/introspect.json
index c7f67b7d78..137b39b992 100644
--- a/qapi/introspect.json
+++ b/qapi/introspect.json
@@ -259,8 +259,8 @@
#
# @ret-type: the name of the command's result type.
#
-# @allow-oob: whether the command allows out-of-band execution.
-# (Since: 2.12)
+# @allow-oob: whether the command allows out-of-band execution,
+# defaults to false (Since: 2.12)
#
# TODO: @success-response (currently irrelevant, because it's QGA, not QMP)
#
@@ -268,7 +268,7 @@
##
{ 'struct': 'SchemaInfoCommand',
'data': { 'arg-type': 'str', 'ret-type': 'str',
- 'allow-oob': 'bool' } }
+ '*allow-oob': 'bool' } }
##
# @SchemaInfoEvent:
diff --git a/scripts/qapi/introspect.py b/scripts/qapi/introspect.py
index 70ca5dd876..189a4edaba 100644
--- a/scripts/qapi/introspect.py
+++ b/scripts/qapi/introspect.py
@@ -184,11 +184,11 @@ const QLitObject %(c_name)s = %(c_string)s;
success_response, boxed, allow_oob, allow_preconfig):
arg_type = arg_type or self._schema.the_empty_object_type
ret_type = ret_type or self._schema.the_empty_object_type
- self._gen_qlit(name, 'command',
- {'arg-type': self._use_type(arg_type),
- 'ret-type': self._use_type(ret_type),
- 'allow-oob': allow_oob},
- ifcond)
+ obj = {'arg-type': self._use_type(arg_type),
+ 'ret-type': self._use_type(ret_type) }
+ if allow_oob:
+ obj['allow-oob'] = allow_oob
+ self._gen_qlit(name, 'command', obj, ifcond)
def visit_event(self, name, info, ifcond, arg_type, boxed):
arg_type = arg_type or self._schema.the_empty_object_type