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:
parent
3688d8c717
commit
119ebac1fe
@ -617,7 +617,7 @@ static void monitor_qapi_event_init(void)
|
|||||||
qmp_event_set_func_emit(monitor_qapi_event_queue);
|
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;
|
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,
|
static bool invalid_qmp_mode(const Monitor *mon, const mon_cmd_t *cmd,
|
||||||
Error **errp)
|
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) {
|
if (is_cap && mon->qmp.in_command_mode) {
|
||||||
error_set(errp, ERROR_CLASS_COMMAND_NOT_FOUND,
|
error_set(errp, ERROR_CLASS_COMMAND_NOT_FOUND,
|
||||||
|
@ -20,6 +20,27 @@
|
|||||||
# QAPI introspection
|
# QAPI introspection
|
||||||
{ 'include': 'qapi/introspect.json' }
|
{ '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:
|
# @LostTickPolicy:
|
||||||
#
|
#
|
||||||
|
@ -2219,7 +2219,7 @@ EQMP
|
|||||||
.args_type = "",
|
.args_type = "",
|
||||||
.params = "",
|
.params = "",
|
||||||
.help = "enable QMP capabilities",
|
.help = "enable QMP capabilities",
|
||||||
.mhandler.cmd_new = qmp_capabilities,
|
.mhandler.cmd_new = qmp_marshal_qmp_capabilities,
|
||||||
},
|
},
|
||||||
|
|
||||||
SQMP
|
SQMP
|
||||||
|
Loading…
Reference in New Issue
Block a user