diff mbox

[v2] spice_info: add mouse_mode

Message ID 1332771332-14090-1-git-send-email-alevy@redhat.com
State New
Headers show

Commit Message

Alon Levy March 26, 2012, 2:15 p.m. UTC
Add mouse_mode, either server or mouse, to qmp and hmp commands, based
on spice_server_is_server_mouse added in spice-server 0.10.3.

Signed-off-by: Alon Levy <alevy@redhat.com>
---
v1->v2:
 report mouse mode "unknown" for qmp too (Gerd Hoffman request)

 hmp.c            |    1 +
 qapi-schema.json |    7 ++++++-
 ui/spice-core.c  |    7 +++++++
 3 files changed, 14 insertions(+), 1 deletion(-)

Comments

Gerd Hoffmann March 29, 2012, 9:08 a.m. UTC | #1
On 03/26/12 16:15, Alon Levy wrote:
> Add mouse_mode, either server or mouse, to qmp and hmp commands, based
> on spice_server_is_server_mouse added in spice-server 0.10.3.

Looks good.  What is the status of the spice-server patch?  Committed?

cheers,
  Gerd
Alon Levy March 29, 2012, 8:16 p.m. UTC | #2
On Thu, Mar 29, 2012 at 11:08:20AM +0200, Gerd Hoffmann wrote:
> On 03/26/12 16:15, Alon Levy wrote:
> > Add mouse_mode, either server or mouse, to qmp and hmp commands, based
> > on spice_server_is_server_mouse added in spice-server 0.10.3.
> 
> Looks good.  What is the status of the spice-server patch?  Committed?

Yes.

> 
> cheers,
>   Gerd
Anthony Liguori March 29, 2012, 8:19 p.m. UTC | #3
On 03/26/2012 09:15 AM, Alon Levy wrote:
> Add mouse_mode, either server or mouse, to qmp and hmp commands, based
> on spice_server_is_server_mouse added in spice-server 0.10.3.
>
> Signed-off-by: Alon Levy<alevy@redhat.com>
> ---
> v1->v2:
>   report mouse mode "unknown" for qmp too (Gerd Hoffman request)
>
>   hmp.c            |    1 +
>   qapi-schema.json |    7 ++++++-
>   ui/spice-core.c  |    7 +++++++
>   3 files changed, 14 insertions(+), 1 deletion(-)
>
> diff --git a/hmp.c b/hmp.c
> index 9cf2d13..8837dd0 100644
> --- a/hmp.c
> +++ b/hmp.c
> @@ -350,6 +350,7 @@ void hmp_info_spice(Monitor *mon)
>       }
>       monitor_printf(mon, "        auth: %s\n", info->auth);
>       monitor_printf(mon, "    compiled: %s\n", info->compiled_version);
> +    monitor_printf(mon, "  mouse-mode: %s\n", info->mouse_mode);
>
>       if (!info->has_channels || info->channels == NULL) {
>           monitor_printf(mon, "Channels: none\n");
> diff --git a/qapi-schema.json b/qapi-schema.json
> index 0d11d6e..72c0080 100644
> --- a/qapi-schema.json
> +++ b/qapi-schema.json
> @@ -654,6 +654,11 @@
>   #        'spice' uses SASL or direct TLS authentication, depending on command
>   #                line options
>   #
> +# @mouse-mode: #optional current server mouse mode if spice server is new
> +#        enough and exposes this information.
> +#        'client' if client side
> +#        'server' if server side
> +#

Please document which version this is being added in and use an enum instead of 
a string to describe the mode.

If it's trouble a boolean, then use a bool instead of an enum.

Regards,

Anthony Liguori
Alon Levy March 29, 2012, 8:54 p.m. UTC | #4
On Thu, Mar 29, 2012 at 03:19:16PM -0500, Anthony Liguori wrote:
> On 03/26/2012 09:15 AM, Alon Levy wrote:
> >Add mouse_mode, either server or mouse, to qmp and hmp commands, based
> >on spice_server_is_server_mouse added in spice-server 0.10.3.
> >
> >Signed-off-by: Alon Levy<alevy@redhat.com>
> >---
> >v1->v2:
> >  report mouse mode "unknown" for qmp too (Gerd Hoffman request)
> >
> >  hmp.c            |    1 +
> >  qapi-schema.json |    7 ++++++-
> >  ui/spice-core.c  |    7 +++++++
> >  3 files changed, 14 insertions(+), 1 deletion(-)
> >
> >diff --git a/hmp.c b/hmp.c
> >index 9cf2d13..8837dd0 100644
> >--- a/hmp.c
> >+++ b/hmp.c
> >@@ -350,6 +350,7 @@ void hmp_info_spice(Monitor *mon)
> >      }
> >      monitor_printf(mon, "        auth: %s\n", info->auth);
> >      monitor_printf(mon, "    compiled: %s\n", info->compiled_version);
> >+    monitor_printf(mon, "  mouse-mode: %s\n", info->mouse_mode);
> >
> >      if (!info->has_channels || info->channels == NULL) {
> >          monitor_printf(mon, "Channels: none\n");
> >diff --git a/qapi-schema.json b/qapi-schema.json
> >index 0d11d6e..72c0080 100644
> >--- a/qapi-schema.json
> >+++ b/qapi-schema.json
> >@@ -654,6 +654,11 @@
> >  #        'spice' uses SASL or direct TLS authentication, depending on command
> >  #                line options
> >  #
> >+# @mouse-mode: #optional current server mouse mode if spice server is new
> >+#        enough and exposes this information.
> >+#        'client' if client side
> >+#        'server' if server side
> >+#
> 
> Please document which version this is being added in and use an enum
> instead of a string to describe the mode.
> 
> If it's trouble a boolean, then use a bool instead of an enum.

OK. Can't imagine any trouble in using an enum.

> 
> Regards,
> 
> Anthony Liguori
diff mbox

Patch

diff --git a/hmp.c b/hmp.c
index 9cf2d13..8837dd0 100644
--- a/hmp.c
+++ b/hmp.c
@@ -350,6 +350,7 @@  void hmp_info_spice(Monitor *mon)
     }
     monitor_printf(mon, "        auth: %s\n", info->auth);
     monitor_printf(mon, "    compiled: %s\n", info->compiled_version);
+    monitor_printf(mon, "  mouse-mode: %s\n", info->mouse_mode);
 
     if (!info->has_channels || info->channels == NULL) {
         monitor_printf(mon, "Channels: none\n");
diff --git a/qapi-schema.json b/qapi-schema.json
index 0d11d6e..72c0080 100644
--- a/qapi-schema.json
+++ b/qapi-schema.json
@@ -654,6 +654,11 @@ 
 #        'spice' uses SASL or direct TLS authentication, depending on command
 #                line options
 #
+# @mouse-mode: #optional current server mouse mode if spice server is new
+#        enough and exposes this information.
+#        'client' if client side
+#        'server' if server side
+#
 # @channels: a list of @SpiceChannel for each active spice channel
 #
 # Since: 0.14.0
@@ -661,7 +666,7 @@ 
 { 'type': 'SpiceInfo',
   'data': {'enabled': 'bool', '*host': 'str', '*port': 'int',
            '*tls-port': 'int', '*auth': 'str', '*compiled-version': 'str',
-           '*channels': ['SpiceChannel']} }
+           '*mouse-mode': 'str', '*channels': ['SpiceChannel']} }
 
 ##
 # @query-spice
diff --git a/ui/spice-core.c b/ui/spice-core.c
index a468524..1579187 100644
--- a/ui/spice-core.c
+++ b/ui/spice-core.c
@@ -462,6 +462,13 @@  SpiceInfo *qmp_query_spice(Error **errp)
         info->tls_port = tls_port;
     }
 
+    info->has_mouse_mode = true;
+#if SPICE_SERVER_VERSION >= 0x000a03 /* 0.10.3 */
+    info->mouse_mode = g_strdup(spice_server_is_server_mouse(spice_server) ?
+                                                        "server" : "client");
+#else
+    info->mouse_mode = g_strdup("unknown");
+#endif
     /* for compatibility with the original command */
     info->has_channels = true;
     info->channels = qmp_query_spice_channels();