From 25b1ef31db30a7dace4d3a485f0a3b3c7285a795 Mon Sep 17 00:00:00 2001 From: Markus Armbruster Date: Wed, 18 Jul 2018 11:05:57 +0200 Subject: [PATCH] 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 Message-Id: <20180718090557.17248-1-armbru@redhat.com> Reviewed-by: Peter Xu --- qapi/introspect.json | 6 +++--- scripts/qapi/introspect.py | 10 +++++----- 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 -- 2.11.0