summaryrefslogtreecommitdiffstats
path: root/client/red_client.h
diff options
context:
space:
mode:
authorYonit Halperin <yhalperi@redhat.com>2010-08-15 14:39:53 +0300
committerYonit Halperin <yhalperi@redhat.com>2010-08-23 08:19:26 +0300
commit7b7feaecdf9cf3f00f4dfa37cd7ade9ecbfa0633 (patch)
tree39bf946486dcf5a4cdc59b1a90a7e2791bab91bc /client/red_client.h
parenta5194d37e978d0a065a82f931293fceaaf43dc19 (diff)
downloadspice-7b7feaecdf9cf3f00f4dfa37cd7ade9ecbfa0633.tar.gz
spice-7b7feaecdf9cf3f00f4dfa37cd7ade9ecbfa0633.tar.xz
spice-7b7feaecdf9cf3f00f4dfa37cd7ade9ecbfa0633.zip
client: Fix for clipboard sending; It wasn't thread safe.
Diffstat (limited to 'client/red_client.h')
-rw-r--r--client/red_client.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/client/red_client.h b/client/red_client.h
index fd1a9b4f..6b4d4ab6 100644
--- a/client/red_client.h
+++ b/client/red_client.h
@@ -144,10 +144,16 @@ public:
uint32_t _color_depth;
};
+class ClipboardEvent : public Event {
+public:
+ virtual void response(AbstractProcessLoop& events_loop);
+};
+
class RedClient: public RedChannel {
public:
friend class RedChannel;
friend class Migrate;
+ friend class ClipboardEvent;
RedClient(Application& application);
~RedClient();
@@ -224,7 +230,8 @@ private:
void on_agent_reply(VDAgentReply* reply);
void on_agent_clipboard(VDAgentClipboard* clipboard, uint32_t size);
- void post_agent_clipboard();
+ void send_agent_clipboard();
+ void do_send_agent_clipboard();
ChannelFactory* find_factory(uint32_t type);
void create_channel(uint32_t type, uint32_t id);