| Index: remoting/host/desktop_session_proxy.h
|
| diff --git a/remoting/host/desktop_session_proxy.h b/remoting/host/desktop_session_proxy.h
|
| index 14f3ff77c80fb7dd1d0e629602d5c5f9e41bda69..2cb5d9643d3b92ef39fd87a6dd9bc58332939ca8 100644
|
| --- a/remoting/host/desktop_session_proxy.h
|
| +++ b/remoting/host/desktop_session_proxy.h
|
| @@ -31,7 +31,12 @@ class ChannelProxy;
|
| class Message;
|
| } // namespace IPC
|
|
|
| +namespace webrtc {
|
| +class MouseCursor;
|
| +} // namespace webrtc
|
| +
|
| struct SerializedDesktopFrame;
|
| +struct SerializedMouseCursor;
|
|
|
| namespace remoting {
|
|
|
| @@ -41,6 +46,7 @@ class ClientSessionControl;
|
| class DesktopSessionConnector;
|
| struct DesktopSessionProxyTraits;
|
| class IpcAudioCapturer;
|
| +class IpcMouseCursorMonitor;
|
| class IpcVideoFrameCapturer;
|
| class ScreenControls;
|
|
|
| @@ -77,6 +83,7 @@ class DesktopSessionProxy
|
| scoped_ptr<InputInjector> CreateInputInjector();
|
| scoped_ptr<ScreenControls> CreateScreenControls();
|
| scoped_ptr<webrtc::ScreenCapturer> CreateVideoCapturer();
|
| + scoped_ptr<webrtc::MouseCursorMonitor> CreateMouseCursorMonitor();
|
| std::string GetCapabilities() const;
|
| void SetCapabilities(const std::string& capabilities);
|
|
|
| @@ -109,6 +116,11 @@ class DesktopSessionProxy
|
| void SetVideoCapturer(
|
| const base::WeakPtr<IpcVideoFrameCapturer> video_capturer);
|
|
|
| + // Stores |mouse_cursor_monitor| to be used to post mouse cursor changes.
|
| + // Called on the |video_capture_task_runner_| thread.
|
| + void SetMouseCursorMonitor(
|
| + const base::WeakPtr<IpcMouseCursorMonitor>& mouse_cursor_monitor);
|
| +
|
| // APIs used to implement the InputInjector interface.
|
| void InjectClipboardEvent(const protocol::ClipboardEvent& event);
|
| void InjectKeyEvent(const protocol::KeyEvent& event);
|
| @@ -145,8 +157,8 @@ class DesktopSessionProxy
|
| // Handles CaptureCompleted notification from the desktop session agent.
|
| void OnCaptureCompleted(const SerializedDesktopFrame& serialized_frame);
|
|
|
| - // Handles CursorShapeChanged notification from the desktop session agent.
|
| - void OnCursorShapeChanged(const webrtc::MouseCursorShape& cursor_shape);
|
| + // Handles MouseCursor notification from the desktop session agent.
|
| + void OnMouseCursor(const webrtc::MouseCursor& mouse_cursor);
|
|
|
| // Handles InjectClipboardEvent request from the desktop integration process.
|
| void OnInjectClipboardEvent(const std::string& serialized_event);
|
| @@ -155,9 +167,9 @@ class DesktopSessionProxy
|
| // passing |frame|.
|
| void PostCaptureCompleted(scoped_ptr<webrtc::DesktopFrame> frame);
|
|
|
| - // Posts OnCursorShapeChanged() to |video_capturer_| on the video thread,
|
| - // passing |cursor_shape|.
|
| - void PostCursorShape(scoped_ptr<webrtc::MouseCursorShape> cursor_shape);
|
| + // Posts OnMouseCursor() to |mouse_cursor_monitor_| on the video thread,
|
| + // passing |mouse_cursor|.
|
| + void PostMouseCursor(scoped_ptr<webrtc::MouseCursor> mouse_cursor);
|
|
|
| // Sends a message to the desktop session agent. The message is silently
|
| // deleted if the channel is broken.
|
| @@ -190,6 +202,9 @@ class DesktopSessionProxy
|
| // Points to the video capturer receiving captured video frames.
|
| base::WeakPtr<IpcVideoFrameCapturer> video_capturer_;
|
|
|
| + // Points to the mouse cursor monitor receiving mouse cursor changes.
|
| + base::WeakPtr<IpcMouseCursorMonitor> mouse_cursor_monitor_;
|
| +
|
| // IPC channel to the desktop session agent.
|
| scoped_ptr<IPC::ChannelProxy> desktop_channel_;
|
|
|
|
|