diff options
author | alexeypa@chromium.org <alexeypa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-11-30 04:04:57 +0000 |
---|---|---|
committer | alexeypa@chromium.org <alexeypa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-11-30 04:04:57 +0000 |
commit | 31014afc104172d9607ba2a1f14cec4b3a671216 (patch) | |
tree | 5e34843f6f9b8dd6ec572b52a991d2c15bfa7ece /remoting/host/desktop_session_proxy.h | |
parent | df61e2ba8a51419639ed39dc58a25e783005a2cd (diff) | |
download | chromium_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.h | 14 |
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_; |