monitor: do_info_version(): Use QDict
All 'info' commands should use QDict, this commit also kills monitor_print_qobject() as do_info_version() doesn't use it anymore (and no handler will). Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
parent
55483ad657
commit
45e914cfe0
42
monitor.c
42
monitor.c
@ -257,24 +257,6 @@ static inline int monitor_has_error(const Monitor *mon)
|
|||||||
return mon->error != NULL;
|
return mon->error != NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void monitor_print_qobject(Monitor *mon, const QObject *data)
|
|
||||||
{
|
|
||||||
switch (qobject_type(data)) {
|
|
||||||
case QTYPE_QSTRING:
|
|
||||||
monitor_printf(mon, "%s",qstring_get_str(qobject_to_qstring(data)));
|
|
||||||
break;
|
|
||||||
case QTYPE_QINT:
|
|
||||||
monitor_printf(mon, "%" PRId64,qint_get_int(qobject_to_qint(data)));
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
monitor_printf(mon, "ERROR: unsupported type: %d",
|
|
||||||
qobject_type(data));
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
monitor_puts(mon, "\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
static void monitor_json_emitter(Monitor *mon, const QObject *data)
|
static void monitor_json_emitter(Monitor *mon, const QObject *data)
|
||||||
{
|
{
|
||||||
QString *json;
|
QString *json;
|
||||||
@ -504,12 +486,32 @@ help:
|
|||||||
help_cmd(mon, "info");
|
help_cmd(mon, "info");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void do_info_version_print(Monitor *mon, const QObject *data)
|
||||||
|
{
|
||||||
|
QDict *qdict;
|
||||||
|
|
||||||
|
qdict = qobject_to_qdict(data);
|
||||||
|
|
||||||
|
monitor_printf(mon, "%s%s\n", qdict_get_str(qdict, "qemu"),
|
||||||
|
qdict_get_str(qdict, "package"));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* do_info_version(): Show QEMU version
|
* do_info_version(): Show QEMU version
|
||||||
|
*
|
||||||
|
* Return a QDict with the following information:
|
||||||
|
*
|
||||||
|
* - "qemu": QEMU's version
|
||||||
|
* - "package": package's version
|
||||||
|
*
|
||||||
|
* Example:
|
||||||
|
*
|
||||||
|
* { "qemu": "0.11.50", "package": "" }
|
||||||
*/
|
*/
|
||||||
static void do_info_version(Monitor *mon, QObject **ret_data)
|
static void do_info_version(Monitor *mon, QObject **ret_data)
|
||||||
{
|
{
|
||||||
*ret_data = QOBJECT(qstring_from_str(QEMU_VERSION QEMU_PKGVERSION));
|
*ret_data = qobject_from_jsonf("{ 'qemu': %s, 'package': %s }",
|
||||||
|
QEMU_VERSION, QEMU_PKGVERSION);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void do_info_name(Monitor *mon)
|
static void do_info_name(Monitor *mon)
|
||||||
@ -2223,7 +2225,7 @@ static const mon_cmd_t info_cmds[] = {
|
|||||||
.args_type = "",
|
.args_type = "",
|
||||||
.params = "",
|
.params = "",
|
||||||
.help = "show the version of QEMU",
|
.help = "show the version of QEMU",
|
||||||
.user_print = monitor_print_qobject,
|
.user_print = do_info_version_print,
|
||||||
.mhandler.info_new = do_info_version,
|
.mhandler.info_new = do_info_version,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user