spice_info: add mouse_mode
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> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
parent
7e3efdac75
commit
4efee029cb
2
hmp.c
2
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");
|
||||
|
@ -633,6 +633,25 @@
|
||||
'connection-id': 'int', 'channel-type': 'int', 'channel-id': 'int',
|
||||
'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
|
||||
#
|
||||
@ -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
|
||||
|
@ -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();
|
||||
|
Loading…
Reference in New Issue
Block a user