mirror of
https://git.proxmox.com/git/qemu
synced 2025-06-16 16:56:56 +00:00
monitor: Introduce monitor_call_handler()
This commit moves the code which calls Monitor handlers to its own function, as it will be used by QMP code as well. Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
parent
adcb181afe
commit
99e2fc1672
20
monitor.c
20
monitor.c
@ -3187,6 +3187,18 @@ static void monitor_print_error(Monitor *mon)
|
|||||||
mon->error = NULL;
|
mon->error = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void monitor_call_handler(Monitor *mon, const mon_cmd_t *cmd,
|
||||||
|
const QDict *params)
|
||||||
|
{
|
||||||
|
QObject *data = NULL;
|
||||||
|
|
||||||
|
cmd->mhandler.cmd_new(mon, params, &data);
|
||||||
|
if (data)
|
||||||
|
cmd->user_print(mon, data);
|
||||||
|
|
||||||
|
qobject_decref(data);
|
||||||
|
}
|
||||||
|
|
||||||
static void monitor_handle_command(Monitor *mon, const char *cmdline)
|
static void monitor_handle_command(Monitor *mon, const char *cmdline)
|
||||||
{
|
{
|
||||||
QDict *qdict;
|
QDict *qdict;
|
||||||
@ -3201,13 +3213,7 @@ static void monitor_handle_command(Monitor *mon, const char *cmdline)
|
|||||||
qemu_errors_to_mon(mon);
|
qemu_errors_to_mon(mon);
|
||||||
|
|
||||||
if (monitor_handler_ported(cmd)) {
|
if (monitor_handler_ported(cmd)) {
|
||||||
QObject *data = NULL;
|
monitor_call_handler(mon, cmd, qdict);
|
||||||
|
|
||||||
cmd->mhandler.cmd_new(mon, qdict, &data);
|
|
||||||
if (data)
|
|
||||||
cmd->user_print(mon, data);
|
|
||||||
|
|
||||||
qobject_decref(data);
|
|
||||||
} else {
|
} else {
|
||||||
cmd->mhandler.cmd(mon, qdict);
|
cmd->mhandler.cmd(mon, qdict);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user