qapi-schema: use generated marshaller for 'qmp_capabilities'

qapi'fy the 'qmp_capabilities' command, makes the command visible in
query-qmp-schema.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20160912091913.15831-3-marcandre.lureau@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
This commit is contained in:
Marc-André Lureau 2016-09-12 13:18:57 +04:00 committed by Markus Armbruster
parent 3688d8c717
commit 119ebac1fe
3 changed files with 24 additions and 3 deletions

View File

@ -617,7 +617,7 @@ static void monitor_qapi_event_init(void)
qmp_event_set_func_emit(monitor_qapi_event_queue);
}
static void qmp_capabilities(QDict *params, QObject **ret_data, Error **errp)
void qmp_qmp_capabilities(Error **errp)
{
cur_mon->qmp.in_command_mode = true;
}
@ -3656,7 +3656,7 @@ static int monitor_can_read(void *opaque)
static bool invalid_qmp_mode(const Monitor *mon, const mon_cmd_t *cmd,
Error **errp)
{
bool is_cap = cmd->mhandler.cmd_new == qmp_capabilities;
bool is_cap = cmd->mhandler.cmd_new == qmp_marshal_qmp_capabilities;
if (is_cap && mon->qmp.in_command_mode) {
error_set(errp, ERROR_CLASS_COMMAND_NOT_FOUND,

View File

@ -20,6 +20,27 @@
# QAPI introspection
{ 'include': 'qapi/introspect.json' }
##
# @qmp_capabilities:
#
# Enable QMP capabilities.
#
# Arguments: None.
#
# Example:
#
# -> { "execute": "qmp_capabilities" }
# <- { "return": {} }
#
# Notes: This command is valid exactly when first connecting: it must be
# issued before any other command will be accepted, and will fail once the
# monitor is accepting other commands. (see qemu docs/qmp-spec.txt)
#
# Since: 0.13
#
##
{ 'command': 'qmp_capabilities' }
##
# @LostTickPolicy:
#

View File

@ -2219,7 +2219,7 @@ EQMP
.args_type = "",
.params = "",
.help = "enable QMP capabilities",
.mhandler.cmd_new = qmp_capabilities,
.mhandler.cmd_new = qmp_marshal_qmp_capabilities,
},
SQMP