summaryrefslogtreecommitdiff
path: root/src/spiceqxl_display.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/spiceqxl_display.c')
-rw-r--r--src/spiceqxl_display.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/spiceqxl_display.c b/src/spiceqxl_display.c
index b1ce557..d19e054 100644
--- a/src/spiceqxl_display.c
+++ b/src/spiceqxl_display.c
@@ -307,6 +307,17 @@ static int interface_flush_resources(QXLInstance *sin)
return ret;
}
+#if SPICE_SERVER_VERSION >= 0x000b04
+static void interface_set_client_capabilities(QXLInstance *sin,
+ uint8_t client_present,
+ uint8_t caps[58])
+{
+ qxl_screen_t *qxl = container_of(sin, qxl_screen_t, display_sin);
+
+ memcpy(qxl->client_capabilities, caps, sizeof(qxl->client_capabilities));
+ qxl->client_present = client_present;
+}
+#endif
static const QXLInterface qxl_interface = {
.base.type = SPICE_INTERFACE_QXL,
@@ -327,6 +338,10 @@ static const QXLInterface qxl_interface = {
.req_cursor_notification = interface_req_cursor_notification,
.notify_update = interface_notify_update,
.flush_resources = interface_flush_resources,
+#if SPICE_SERVER_VERSION >= 0x000b04
+ .set_client_capabilities = interface_set_client_capabilities,
+ // TODO client_monitors_config
+#endif
};
void qxl_add_spice_display_interface(qxl_screen_t *qxl)