summaryrefslogtreecommitdiffstats
path: root/remoting/host/desktop_session_proxy.h
diff options
context:
space:
mode:
authoralexeypa@chromium.org <alexeypa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-11-30 04:04:57 +0000
committeralexeypa@chromium.org <alexeypa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-11-30 04:04:57 +0000
commit31014afc104172d9607ba2a1f14cec4b3a671216 (patch)
tree5e34843f6f9b8dd6ec572b52a991d2c15bfa7ece /remoting/host/desktop_session_proxy.h
parentdf61e2ba8a51419639ed39dc58a25e783005a2cd (diff)
downloadchromium_src-31014afc104172d9607ba2a1f14cec4b3a671216.zip
chromium_src-31014afc104172d9607ba2a1f14cec4b3a671216.tar.gz
chromium_src-31014afc104172d9607ba2a1f14cec4b3a671216.tar.bz2
Added support of keyboard, mouse and clipboard events to DesktopSessionAgent.
BUG=134694 Review URL: https://chromiumcodereview.appspot.com/11417094 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@170393 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'remoting/host/desktop_session_proxy.h')
-rw-r--r--remoting/host/desktop_session_proxy.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/remoting/host/desktop_session_proxy.h b/remoting/host/desktop_session_proxy.h
index ad80310..c0344fc 100644
--- a/remoting/host/desktop_session_proxy.h
+++ b/remoting/host/desktop_session_proxy.h
@@ -14,6 +14,8 @@
#include "ipc/ipc_platform_file.h"
#include "remoting/base/shared_buffer.h"
#include "remoting/host/video_frame_capturer.h"
+#include "remoting/proto/event.pb.h"
+#include "remoting/protocol/clipboard_stub.h"
#include "third_party/skia/include/core/SkRegion.h"
#if defined(OS_WIN)
@@ -72,6 +74,12 @@ class DesktopSessionProxy
// StopVideoCapturer() has been called will be silently dropped.
void StopVideoCapturer();
+ // APIs used to implement the EventExecutor interface.
+ void InjectClipboardEvent(const protocol::ClipboardEvent& event);
+ void InjectKeyEvent(const protocol::KeyEvent& event);
+ void InjectMouseEvent(const protocol::MouseEvent& event);
+ void StartEventExecutor(scoped_ptr<protocol::ClipboardStub> client_clipboard);
+
private:
friend class base::RefCountedThreadSafe<DesktopSessionProxy>;
virtual ~DesktopSessionProxy();
@@ -101,6 +109,9 @@ class DesktopSessionProxy
// |video_capturer_|.
void PostCursorShape(scoped_ptr<protocol::CursorShapeInfo> cursor_shape);
+ // Handles InjectClipboardEvent request from the desktop integration process.
+ void OnInjectClipboardEvent(const std::string& serialized_event);
+
// Sends a message to the desktop session agent. The message is silently
// deleted if the channel is broken.
void SendToDesktop(IPC::Message* message);
@@ -112,6 +123,9 @@ class DesktopSessionProxy
// Task runner on which |video_capturer_delegate_| will be invoked.
scoped_refptr<base::SingleThreadTaskRunner> video_capture_task_runner_;
+ // Points to the client stub passed to StartEventExecutor().
+ scoped_ptr<protocol::ClipboardStub> client_clipboard_;
+
// IPC channel to the desktop session agent.
scoped_ptr<IPC::ChannelProxy> desktop_channel_;