[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 02/12] spice_info: add mouse_mode
From: |
Gerd Hoffmann |
Subject: |
[Qemu-devel] [PATCH 02/12] spice_info: add mouse_mode |
Date: |
Thu, 3 May 2012 10:53:36 +0200 |
From: Alon Levy <address@hidden>
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 <address@hidden>
Signed-off-by: Gerd Hoffmann <address@hidden>
---
hmp.c | 2 ++
qapi-schema.json | 27 ++++++++++++++++++++++++++-
ui/spice-core.c | 7 +++++++
3 files changed, 35 insertions(+), 1 deletions(-)
diff --git a/hmp.c b/hmp.c
index eb96618..1f9fe0e 100644
--- a/hmp.c
+++ b/hmp.c
@@ -350,6 +350,8 @@ 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",
+ SpiceQueryMouseMode_lookup[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 9193fb9..4279259 100644
--- a/qapi-schema.json
+++ b/qapi-schema.json
@@ -634,6 +634,25 @@
'tls': 'bool'} }
##
+# @SpiceQueryMouseMode
+#
+# An enumation of Spice mouse states.
+#
+# @client: Mouse cursor position is determined by the client.
+#
+# @server: Mouse cursor position is determined by the server.
+#
+# @unknown: No information is available about mouse mode used by
+# the spice server.
+#
+# Note: spice/enums.h has a SpiceMouseMode already, hence the name.
+#
+# Since: 1.1
+##
+{ 'enum': 'SpiceQueryMouseMode',
+ 'data': [ 'client', 'server', 'unknown' ] }
+
+##
# @SpiceInfo
#
# Information about the SPICE session.
@@ -654,6 +673,12 @@
# 'spice' uses SASL or direct TLS authentication, depending on command
# line options
#
+# @mouse-mode: The mode in which the mouse cursor is displayed currently. Can
+# be determined by the client or the server, or unknown if spice
+# server doesn't provide this information.
+#
+# Since: 1.1
+#
# @channels: a list of @SpiceChannel for each active spice channel
#
# Since: 0.14.0
@@ -661,7 +686,7 @@
{ 'type': 'SpiceInfo',
'data': {'enabled': 'bool', '*host': 'str', '*port': 'int',
'*tls-port': 'int', '*auth': 'str', '*compiled-version': 'str',
- '*channels': ['SpiceChannel']} }
+ 'mouse-mode': 'SpiceQueryMouseMode', '*channels': ['SpiceChannel']}
}
##
# @query-spice
diff --git a/ui/spice-core.c b/ui/spice-core.c
index a468524..4fc48f8 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;
}
+#if SPICE_SERVER_VERSION >= 0x000a03 /* 0.10.3 */
+ info->mouse_mode = spice_server_is_server_mouse(spice_server) ?
+ SPICE_QUERY_MOUSE_MODE_SERVER :
+ SPICE_QUERY_MOUSE_MODE_CLIENT;
+#else
+ info->mouse_mode = SPICE_QUERY_MOUSE_MODE_UNKNOWN;
+#endif
/* for compatibility with the original command */
info->has_channels = true;
info->channels = qmp_query_spice_channels();
--
1.7.1
- [Qemu-devel] [PULL 00/12] spice patch queue, Gerd Hoffmann, 2012/05/03
- [Qemu-devel] [PATCH 08/12] qxl: cleanup s/__FUNCTION__/__func__/, Gerd Hoffmann, 2012/05/03
- [Qemu-devel] [PATCH 12/12] qxl: don't assert on guest create_guest_primary, Gerd Hoffmann, 2012/05/03
- [Qemu-devel] [PATCH 06/12] qxl: fix > 80 chars line, Gerd Hoffmann, 2012/05/03
- [Qemu-devel] [PATCH 02/12] spice_info: add mouse_mode,
Gerd Hoffmann <=
- [Qemu-devel] [PATCH 05/12] qxl: replace panic with guest bug in qxl_track_command, Gerd Hoffmann, 2012/05/03
- [Qemu-devel] [PATCH 03/12] hw/qxl.c: qxl_phys2virt: replace panics with guest_bug, Gerd Hoffmann, 2012/05/03
- [Qemu-devel] [PATCH 07/12] qxl: don't abort on guest trigerrable ring indices mismatch, Gerd Hoffmann, 2012/05/03
- [Qemu-devel] [PATCH 10/12] qxl: qxl_add_memslot: remove guest trigerrable panics, Gerd Hoffmann, 2012/05/03
- [Qemu-devel] [PATCH 09/12] qxl: interface_notify_update: remove guest trigerrable abort, Gerd Hoffmann, 2012/05/03
- [Qemu-devel] [PATCH 11/12] qxl: ioport_write: remove guest trigerrable abort, Gerd Hoffmann, 2012/05/03
- [Qemu-devel] [PATCH 01/12] spice: require spice-protocol >= 0.8.1, Gerd Hoffmann, 2012/05/03
- [Qemu-devel] [PATCH 04/12] qxl: check for NULL return from qxl_phys2virt, Gerd Hoffmann, 2012/05/03
- Re: [Qemu-devel] [PULL 00/12] spice patch queue, Anthony Liguori, 2012/05/08