diff options
author | Markus Armbruster <armbru@redhat.com> | 2010-03-22 11:38:14 +0100 |
---|---|---|
committer | Aurelien Jarno <aurelien@aurel32.net> | 2010-04-18 23:46:48 +0200 |
commit | 17a38eaa2fdbb9add961e974fdb1b0ca8260813c (patch) | |
tree | c57e16e9edb6001fc9878cb7851194b58609d476 | |
parent | cc601cb785bbbd1a017d05d69763cd2c2e1ca3a4 (diff) |
monitor: convert do_device_del() to QObject, QError
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
-rw-r--r-- | hw/qdev.c | 8 | ||||
-rw-r--r-- | hw/qdev.h | 2 | ||||
-rw-r--r-- | qemu-monitor.hx | 3 |
3 files changed, 7 insertions, 6 deletions
@@ -799,15 +799,15 @@ int do_device_add(Monitor *mon, const QDict *qdict, QObject **ret_data) return 0; } -void do_device_del(Monitor *mon, const QDict *qdict) +int do_device_del(Monitor *mon, const QDict *qdict, QObject **ret_data) { const char *id = qdict_get_str(qdict, "id"); DeviceState *dev; dev = qdev_find_recursive(main_system_bus, id); if (NULL == dev) { - error_report("Device '%s' not found", id); - return; + qerror_report(QERR_DEVICE_NOT_FOUND, id); + return -1; } - qdev_unplug(dev); + return qdev_unplug(dev); } @@ -176,7 +176,7 @@ void qbus_free(BusState *bus); void do_info_qtree(Monitor *mon); void do_info_qdm(Monitor *mon); int do_device_add(Monitor *mon, const QDict *qdict, QObject **ret_data); -void do_device_del(Monitor *mon, const QDict *qdict); +int do_device_del(Monitor *mon, const QDict *qdict, QObject **ret_data); /*** qdev-properties.c ***/ diff --git a/qemu-monitor.hx b/qemu-monitor.hx index 5308f364e7..d290b4b57f 100644 --- a/qemu-monitor.hx +++ b/qemu-monitor.hx @@ -589,7 +589,8 @@ ETEXI .args_type = "id:s", .params = "device", .help = "remove device", - .mhandler.cmd = do_device_del, + .user_print = monitor_user_noop, + .mhandler.cmd_new = do_device_del, }, STEXI |