From 056ced52b46ff725b79c04813467ce0643c1b878 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Fri, 14 Dec 2018 08:26:42 +0000 Subject: [PATCH 5/5] qapi: add query-display-options command MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit RH-Author: Gerd Hoffmann Message-id: <20181214082642.21878-6-kraxel@redhat.com> Patchwork-id: 83503 O-Subject: [RHEL8/rhel qemu-kvm PATCH 5/5] qapi: add query-display-options command Bugzilla: 1652871 RH-Acked-by: Philippe Mathieu-Daudé RH-Acked-by: Daniel P. Berrange RH-Acked-by: Erik Skultety 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 ] (cherry picked from commit e1ca8f7e1915496148f6e0ce1f7c2309af013312) Signed-off-by: Danilo C. L. de Paula Conflicts: qapi/ui.json Signed-off-by: Danilo C. L. de Paula --- qapi/ui.json | 13 +++++++++++++ vl.c | 6 ++++++ 2 files changed, 19 insertions(+) diff --git a/qapi/ui.json b/qapi/ui.json index 3e8aeee..1475867 100644 --- a/qapi/ui.json +++ b/qapi/ui.json @@ -1071,3 +1071,16 @@ 'egl-headless' : 'DisplayEGLHeadless', 'curses' : 'DisplayNoOpts', 'cocoa' : 'DisplayNoOpts' } } + +## +# @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 a4d1e3f..9d32921 100644 --- a/vl.c +++ b/vl.c @@ -131,6 +131,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" @@ -2138,6 +2139,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; -- 1.8.3.1