summaryrefslogtreecommitdiffstats
path: root/client/red_client.h
diff options
context:
space:
mode:
authorHans de Goede <hdegoede@redhat.com>2010-10-02 16:29:36 +0200
committerHans de Goede <hdegoede@redhat.com>2010-10-02 16:29:36 +0200
commit8a160078d0852ff5a2f8ec438cec1b18858e3c5d (patch)
tree05b7cdfb2523242e013e561c8a83a630e4762eaf /client/red_client.h
parentdeb849dfd54deafa894692f4e44208c2de9f33aa (diff)
downloadspice-8a160078d0852ff5a2f8ec438cec1b18858e3c5d.tar.gz
spice-8a160078d0852ff5a2f8ec438cec1b18858e3c5d.tar.xz
spice-8a160078d0852ff5a2f8ec438cec1b18858e3c5d.zip
Keep track of clipboard ownership
Given that all clipboard handling is async, it is possible to for example receive a request for clipboard data from the agent while the client no longer owns the clipboard (ie a VD_AGENT_CLIPBOARD_RELEASE message is in transit to the agent). Thus it is necessary to keep track of our notion of clipboard ownership and check received clipboard messages (both from other apps on the client machine and from the agent) to see if they match our notion and if not drop, or in case were a counter message is expected nack the clipboard message.
Diffstat (limited to 'client/red_client.h')
-rw-r--r--client/red_client.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/client/red_client.h b/client/red_client.h
index 2cfce494..15f06170 100644
--- a/client/red_client.h
+++ b/client/red_client.h
@@ -221,6 +221,7 @@ public:
void on_clipboard_grab(uint32_t *types, uint32_t type_count);
void on_clipboard_request(uint32_t type);
void on_clipboard_notify(uint32_t type, uint8_t* data, int32_t size);
+ void on_clipboard_release();
void for_each_channel(ForEachChannelFunc& func);
void on_mouse_capture_trigger(RedScreen& screen);