Chromium Code Reviews| Index: remoting/host/ipc_mouse_cursor_monitor.cc |
| diff --git a/remoting/host/ipc_mouse_cursor_monitor.cc b/remoting/host/ipc_mouse_cursor_monitor.cc |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..c3a62c49fadb1bf7d277b3770fc668a0d8c19407 |
| --- /dev/null |
| +++ b/remoting/host/ipc_mouse_cursor_monitor.cc |
| @@ -0,0 +1,43 @@ |
| +// Copyright (c) 2013 The Chromium Authors. All rights reserved. |
|
Sergey Ulanov
2013/12/03 21:47:28
nit: don't need (c)
dcaiafa
2013/12/10 01:32:03
Done.
|
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#include "remoting/host/ipc_mouse_cursor_monitor.h" |
| + |
| +#include "remoting/host/desktop_session_proxy.h" |
| +#include "third_party/webrtc/modules/desktop_capture/mouse_cursor.h" |
| + |
| +namespace remoting { |
| + |
| +IpcMouseCursorMonitor::IpcMouseCursorMonitor( |
| + scoped_refptr<DesktopSessionProxy> desktop_session_proxy) |
| + : callback_(NULL), |
| + desktop_session_proxy_(desktop_session_proxy), |
| + weak_factory_(this) { |
| +} |
| + |
| +IpcMouseCursorMonitor::~IpcMouseCursorMonitor() { |
| +} |
|
Sergey Ulanov
2013/12/03 21:47:28
nit: this can be moved to the previous line.
dcaiafa
2013/12/10 01:32:03
Done.
|
| + |
| +void IpcMouseCursorMonitor::Init(Callback* callback, Mode mode) { |
| + DCHECK(!callback_); |
| + DCHECK(callback); |
| + DCHECK_EQ(webrtc::MouseCursorMonitor::SHAPE_ONLY, mode); |
| + callback_ = callback; |
| + desktop_session_proxy_->SetMouseCursorMonitor(weak_factory_.GetWeakPtr()); |
| +} |
| + |
| +void IpcMouseCursorMonitor::Capture() { |
| + // Ignore. DesktopSessionAgent will capture the cursor at the same time it |
| + // captures a screen frame when |IpcVideoFrameCapturer::Capture()| is called. |
| + // This saves an IPC roundtrip. |
| +} |
| + |
| +void IpcMouseCursorMonitor::OnMouseCursor( |
| + scoped_ptr<webrtc::MouseCursor> cursor) { |
| + DCHECK(callback_); |
| + callback_->OnMouseCursor(cursor.release()); |
| +} |
| + |
| +} // namespace remoting |
| + |