[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 06/20] monitor: Use traditional command interface
From: |
Markus Armbruster |
Subject: |
[Qemu-devel] [PATCH v2 06/20] monitor: Use traditional command interface for HMP device_add |
Date: |
Tue, 26 May 2015 17:20:41 +0200 |
All QMP commands use the "new" handler interface (mhandler.cmd_new).
Most HMP commands still use the traditional interface (mhandler.cmd),
but a few use the "new" one. Complicates handle_user_command() for no
gain, so I'm converting these to the traditional interface.
For device_add, that's easy: just wrap the obvious hmp_device_add()
around do_device_add().
monitor_user_noop() is now unused, drop it.
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
---
hmp-commands.hx | 3 +--
hmp.c | 6 ++++++
hmp.h | 1 +
monitor.c | 2 --
4 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/hmp-commands.hx b/hmp-commands.hx
index 5257969..eff2f97 100644
--- a/hmp-commands.hx
+++ b/hmp-commands.hx
@@ -653,8 +653,7 @@ ETEXI
.args_type = "device:O",
.params = "driver[,prop=value][,...]",
.help = "add device, like -device on the command line",
- .user_print = monitor_user_noop,
- .mhandler.cmd_new = do_device_add,
+ .mhandler.cmd = hmp_device_add,
.command_completion = device_add_completion,
},
diff --git a/hmp.c b/hmp.c
index 5a43f9d..514f22f 100644
--- a/hmp.c
+++ b/hmp.c
@@ -22,6 +22,7 @@
#include "qmp-commands.h"
#include "qemu/sockets.h"
#include "monitor/monitor.h"
+#include "monitor/qdev.h"
#include "qapi/opts-visitor.h"
#include "qapi/string-output-visitor.h"
#include "qapi-visit.h"
@@ -1499,6 +1500,11 @@ void hmp_migrate(Monitor *mon, const QDict *qdict)
}
}
+void hmp_device_add(Monitor *mon, const QDict *qdict)
+{
+ do_device_add(mon, qdict, NULL);
+}
+
void hmp_device_del(Monitor *mon, const QDict *qdict)
{
const char *id = qdict_get_str(qdict, "id");
diff --git a/hmp.h b/hmp.h
index b81439c..a70ac4f 100644
--- a/hmp.h
+++ b/hmp.h
@@ -80,6 +80,7 @@ void hmp_block_job_pause(Monitor *mon, const QDict *qdict);
void hmp_block_job_resume(Monitor *mon, const QDict *qdict);
void hmp_block_job_complete(Monitor *mon, const QDict *qdict);
void hmp_migrate(Monitor *mon, const QDict *qdict);
+void hmp_device_add(Monitor *mon, const QDict *qdict);
void hmp_device_del(Monitor *mon, const QDict *qdict);
void hmp_dump_guest_memory(Monitor *mon, const QDict *qdict);
void hmp_netdev_add(Monitor *mon, const QDict *qdict);
diff --git a/monitor.c b/monitor.c
index 38ff972..85bb71e 100644
--- a/monitor.c
+++ b/monitor.c
@@ -378,8 +378,6 @@ static int GCC_FMT_ATTR(2, 3) monitor_fprintf(FILE *stream,
return 0;
}
-static void monitor_user_noop(Monitor *mon, const QObject *data) { }
-
static inline int handler_is_qobject(const mon_cmd_t *cmd)
{
return cmd->user_print != NULL;
--
1.9.3
- [Qemu-devel] [PATCH v2 03/20] monitor: Improve and document client_migrate_info protocol error, (continued)
- [Qemu-devel] [PATCH v2 03/20] monitor: Improve and document client_migrate_info protocol error, Markus Armbruster, 2015/05/26
- [Qemu-devel] [PATCH v2 05/20] monitor: Use traditional command interface for HMP drive_del, Markus Armbruster, 2015/05/26
- [Qemu-devel] [PATCH v2 14/20] monitor: Rename handle_user_command() to handle_hmp_command(), Markus Armbruster, 2015/05/26
- [Qemu-devel] [PATCH v2 08/20] monitor: Drop unused "new" HMP command interface, Markus Armbruster, 2015/05/26
- [Qemu-devel] [PATCH v2 10/20] monitor: Propagate errors through qmp_check_input_obj(), Markus Armbruster, 2015/05/26
- [Qemu-devel] [PATCH v2 12/20] monitor: Inline monitor_has_error() into its only caller, Markus Armbruster, 2015/05/26
- [Qemu-devel] [PATCH v2 13/20] monitor: Limit QError use to command handlers, Markus Armbruster, 2015/05/26
- [Qemu-devel] [PATCH v2 06/20] monitor: Use traditional command interface for HMP device_add,
Markus Armbruster <=
- [Qemu-devel] [PATCH v2 09/20] monitor: Propagate errors through qmp_check_client_args(), Markus Armbruster, 2015/05/26
- [Qemu-devel] [PATCH v2 11/20] monitor: Wean monitor_protocol_emitter() off mon->error, Markus Armbruster, 2015/05/26
- [Qemu-devel] [PATCH v2 17/20] monitor: Drop do_qmp_capabilities()'s superfluous QMP check, Markus Armbruster, 2015/05/26
- [Qemu-devel] [PATCH v2 19/20] monitor: Rename monitor_ctrl_mode() to monitor_is_qmp(), Markus Armbruster, 2015/05/26
- [Qemu-devel] [PATCH v2 07/20] monitor: Use trad. command interface for HMP pcie_aer_inject_error, Markus Armbruster, 2015/05/26
- [Qemu-devel] [PATCH v2 20/20] monitor: Change return type of monitor_cur_is_qmp() to bool, Markus Armbruster, 2015/05/26
- [Qemu-devel] [PATCH v2 15/20] monitor: Rename monitor_control_read(), monitor_control_event(), Markus Armbruster, 2015/05/26
- [Qemu-devel] [PATCH v2 16/20] monitor: Unbox Monitor member mc and rename to qmp, Markus Armbruster, 2015/05/26
- [Qemu-devel] [PATCH v2 18/20] monitor: Turn int command_mode into bool in_command_mode, Markus Armbruster, 2015/05/26