From e1ca8f7e1915496148f6e0ce1f7c2309af013312 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Thu, 22 Nov 2018 08:16:13 +0100 Subject: [PATCH] qapi: add query-display-options command Add query-display-options command, which allows querying the qemu display configuration. This isn't particularly useful, except it exposes QAPI type DisplayOptions in query-qmp-schema, so that libvirt can discover recently added -display parameter rendernode (commit d4dc4ab133b). Works around lack of sufficiently powerful command line introspection. Signed-off-by: Gerd Hoffmann Reviewed-by: Eric Blake Tested-by: Eric Blake Tested-by: Erik Skultety Message-id: 20181122071613.2889-1-kraxel@redhat.com [ kraxel: reworded commit message as suggested by armbru ] --- qapi/ui.json | 13 +++++++++++++ vl.c | 6 ++++++ 2 files changed, 19 insertions(+) diff --git a/qapi/ui.json b/qapi/ui.json index e0000248d3..fd39acb5c3 100644 --- a/qapi/ui.json +++ b/qapi/ui.json @@ -1102,3 +1102,16 @@ 'discriminator' : 'type', 'data' : { 'gtk' : 'DisplayGTK', 'egl-headless' : 'DisplayEGLHeadless'} } + +## +# @query-display-options: +# +# Returns information about display configuration +# +# Returns: @DisplayOptions +# +# Since: 3.1 +# +## +{ 'command': 'query-display-options', + 'returns': 'DisplayOptions' } diff --git a/vl.c b/vl.c index fa25d1ae2d..d6fd95c227 100644 --- a/vl.c +++ b/vl.c @@ -128,6 +128,7 @@ int main(int argc, char **argv) #include "qapi/qapi-commands-block-core.h" #include "qapi/qapi-commands-misc.h" #include "qapi/qapi-commands-run-state.h" +#include "qapi/qapi-commands-ui.h" #include "qapi/qmp/qerror.h" #include "sysemu/iothread.h" @@ -2055,6 +2056,11 @@ static void parse_display_qapi(const char *optarg) visit_free(v); } +DisplayOptions *qmp_query_display_options(Error **errp) +{ + return QAPI_CLONE(DisplayOptions, &dpy); +} + static void parse_display(const char *p) { const char *opts; -- GitLab