[Qemu-devel] [PATCH] qapi: add query-display-options command

Gerd Hoffmann posted 1 patch 5 years, 4 months ago
Failed in applying to current master (apply log)
There is a newer version of this series
vl.c         | 10 ++++++++++
qapi/ui.json | 13 +++++++++++++
2 files changed, 23 insertions(+)
[Qemu-devel] [PATCH] qapi: add query-display-options command
Posted by Gerd Hoffmann 5 years, 4 months ago
Add query-display-options command, which allows to query the qemu
display configuration, and -- as intentional side effect -- makes
DisplayOptions discoverable via query-qmp-schema so libvirt can go
figure which display options are supported.

Cc: Eric Blake <eblake@redhat.com>
Cc: Erik Skultety <eskultet@redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 vl.c         | 10 ++++++++++
 qapi/ui.json | 13 +++++++++++++
 2 files changed, 23 insertions(+)

diff --git a/vl.c b/vl.c
index fa25d1ae2d..c6e662677a 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,15 @@ static void parse_display_qapi(const char *optarg)
     visit_free(v);
 }
 
+DisplayOptions *qmp_query_display_options(Error **errp)
+{
+    DisplayOptions *opts;
+
+    opts = g_new(DisplayOptions, 1);
+    QAPI_CLONE_MEMBERS(DisplayOptions, opts, &dpy);
+    return opts;
+}
+
 static void parse_display(const char *p)
 {
     const char *opts;
diff --git a/qapi/ui.json b/qapi/ui.json
index bf9e157d5a..3e58fd20ea 100644
--- a/qapi/ui.json
+++ b/qapi/ui.json
@@ -1087,3 +1087,16 @@
                 '*gl'            : 'DisplayGLMode' },
   'discriminator' : 'type',
   'data'    : { 'gtk'            : 'DisplayGTK' } }
+
+##
+# @query-display-options:
+#
+# Returns information about display configuration
+#
+# Returns: @DisplayOptions
+#
+# Since: 3.1
+#
+##
+{ 'command': 'query-display-options',
+  'returns': 'DisplayOptions' }
-- 
2.9.3


Re: [Qemu-devel] [PATCH] qapi: add query-display-options command
Posted by Eric Blake 5 years, 4 months ago
On 11/20/18 2:56 AM, Gerd Hoffmann wrote:
> Add query-display-options command, which allows to query the qemu

s/allows to query/allows querying/

> display configuration, and -- as intentional side effect -- makes

s/as/as an/

> DisplayOptions discoverable via query-qmp-schema so libvirt can go
> figure which display options are supported.
> 
> Cc: Eric Blake <eblake@redhat.com>
> Cc: Erik Skultety <eskultet@redhat.com>
> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
> ---
>   vl.c         | 10 ++++++++++
>   qapi/ui.json | 13 +++++++++++++
>   2 files changed, 23 insertions(+)

Conflicts with d4dc4ab1, but the resolution is obvious.  Makes sense as 
3.1 material given that d4dc4ab1 is less useful without this.

Reviewed-by: Eric Blake <eblake@redhat.com>
Tested-by: Eric Blake <eblake@redhat.com>

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org

Re: [Qemu-devel] [PATCH] qapi: add query-display-options command
Posted by Erik Skultety 5 years, 4 months ago
On Tue, Nov 20, 2018 at 09:56:03AM +0100, Gerd Hoffmann wrote:
> Add query-display-options command, which allows to query the qemu
> display configuration, and -- as intentional side effect -- makes
> DisplayOptions discoverable via query-qmp-schema so libvirt can go
> figure which display options are supported.
>
> Cc: Eric Blake <eblake@redhat.com>
> Cc: Erik Skultety <eskultet@redhat.com>
> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
> ---

Direct testing with qemu works, as the necessary data appears in the QAPI
schema a can be traversed, so it looks good, but I'm still yet to test
traversing with libvirt.

Tested-by: Erik Skultety <eskultet@redhat.com>