diff options
author | Luiz Capitulino <lcapitulino@redhat.com> | 2009-11-26 22:58:53 -0200 |
---|---|---|
committer | Anthony Liguori <aliguori@us.ibm.com> | 2009-12-03 09:41:21 -0600 |
commit | 99e2fc1672bbf84d081729a42c6a579ffdffecf8 (patch) | |
tree | 86e7ace65d03f9e00821e69af4ea1c9edc2a07a1 /monitor.c | |
parent | adcb181afe5a951c521411c7a8e9d9b791aa6742 (diff) |
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>
Diffstat (limited to 'monitor.c')
-rw-r--r-- | monitor.c | 20 |
1 files changed, 13 insertions, 7 deletions
@@ -3187,6 +3187,18 @@ static void monitor_print_error(Monitor *mon) 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) { QDict *qdict; @@ -3201,13 +3213,7 @@ static void monitor_handle_command(Monitor *mon, const char *cmdline) qemu_errors_to_mon(mon); if (monitor_handler_ported(cmd)) { - QObject *data = NULL; - - cmd->mhandler.cmd_new(mon, qdict, &data); - if (data) - cmd->user_print(mon, data); - - qobject_decref(data); + monitor_call_handler(mon, cmd, qdict); } else { cmd->mhandler.cmd(mon, qdict); } |