This determines whether the QMP JSON responses are pretty printed with newlines and indentation, or compact with no extra whitespace. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> --- monitor/qmp.c | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/monitor/qmp.c b/monitor/qmp.c index 3a4e2ae0e7..ae6317b09d 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) @@ -537,6 +554,7 @@ void monitor_new_qmp(const char *chardev_id, bool pretty, Error **errp) id, errp, "chardev", chardev_id, + "pretty", pretty ? "yes" : "no", NULL); if (!obj) { @@ -557,8 +575,6 @@ void monitor_new_qmp(const char *chardev_id, bool pretty, Error **errp) 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(); -- 2.54.0