diff options
| author | Daniel P. Berrangé <berrange@redhat.com> | 2026-07-06 14:57:57 +0100 |
|---|---|---|
| committer | Markus Armbruster <armbru@redhat.com> | 2026-07-07 11:16:23 +0200 |
| commit | 2c7f10173e5bc6ca41ea2613c25d67a3a03ac5f5 (patch) | |
| tree | 21538e0637bcfa8eaa7872a3356a36a12ba1801e /monitor | |
| parent | 1a618b2dddb9bd4819cf6f019c19deb25b1038a8 (diff) | |
| download | qemu-2c7f10173e5bc6ca41ea2613c25d67a3a03ac5f5.tar.gz qemu-2c7f10173e5bc6ca41ea2613c25d67a3a03ac5f5.zip | |
monitor: add 'pretty' property to QMP Monitor class
This determines whether the QMP JSON responses are pretty printed
with newlines and indentation, or compact with no extra whitespace.
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Tested-by: Peter Krempa <pkrempa@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Message-ID: <20260706135824.2623960-10-berrange@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Diffstat (limited to 'monitor')
| -rw-r--r-- | monitor/qmp.c | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/monitor/qmp.c b/monitor/qmp.c index df35b530ed..d7adb9ba8b 100644 --- a/monitor/qmp.c +++ b/monitor/qmp.c @@ -77,8 +77,25 @@ static void monitor_qmp_finalize(Object *obj) { } +static bool monitor_qmp_get_pretty(Object *obj, Error **errp) +{ + MonitorQMP *mon = MONITOR_QMP(obj); + + return mon->pretty; +} + +static void monitor_qmp_set_pretty(Object *obj, bool val, Error **errp) +{ + MonitorQMP *mon = MONITOR_QMP(obj); + + mon->pretty = val; +} + static void monitor_qmp_class_init(ObjectClass *cls, const void *data) { + object_class_property_add_bool(cls, "pretty", + monitor_qmp_get_pretty, + monitor_qmp_set_pretty); } static void monitor_qmp_init(Object *obj) @@ -538,6 +555,7 @@ void monitor_new_qmp(const char *id, const char *chardev_id, id ? id : autoid, errp, "chardev", chardev_id, + "pretty", pretty ? "yes" : "no", NULL); if (!obj) { @@ -558,8 +576,6 @@ void monitor_new_qmp(const char *id, const char *chardev_id, qemu_chr_has_feature(mon->parent_obj.chr.chr, QEMU_CHAR_FEATURE_GCONTEXT)); - mon->pretty = pretty; - qemu_mutex_init(&mon->qmp_queue_lock); mon->qmp_requests = g_queue_new(); |
