Chromium Code Reviews| Index: remoting/host/local_input_monitor.h |
| diff --git a/remoting/host/local_input_monitor.h b/remoting/host/local_input_monitor.h |
| index 29893d6d241c4467129037bb740987d756133395..1f81b62f5a7c3ff165becde70bfd284dec4ffb00 100644 |
| --- a/remoting/host/local_input_monitor.h |
| +++ b/remoting/host/local_input_monitor.h |
| @@ -5,9 +5,9 @@ |
| #ifndef REMOTING_HOST_LOCAL_INPUT_MONITOR_H_ |
| #define REMOTING_HOST_LOCAL_INPUT_MONITOR_H_ |
| -#include "base/callback_forward.h" |
| #include "base/memory/ref_counted.h" |
| #include "base/memory/scoped_ptr.h" |
| +#include "base/memory/weak_ptr.h" |
| namespace base { |
| class SingleThreadTaskRunner; |
| @@ -15,26 +15,27 @@ class SingleThreadTaskRunner; |
| namespace remoting { |
| -class MouseMoveObserver; |
| +class ClientSessionControl; |
| +// Monitors the local input to notify about mouse movements. On Mac and Linux |
| +// catches the disconnection keyboard shortcut (Ctlr-Alt-Esc) and invokes |
| +// SessionController::Delegate::DisconnectSession() when this key combination is |
| +// pressed. |
| +// |
| +// TODO(sergeyu): Refactor shortcut code to a separate class. |
| class LocalInputMonitor { |
| public: |
| virtual ~LocalInputMonitor() {} |
| - // Starts local input monitoring. This class is also responsible for |
| - // of catching the disconnection keyboard shortcut on Mac and Linux |
| - // (Ctlr-Alt-Esc). The |disconnect_callback| is called when this key |
| - // combination is pressed. |
| - // |
| - // TODO(sergeyu): Refactor shortcut code to a separate class. |
| - virtual void Start(MouseMoveObserver* mouse_move_observer, |
| - const base::Closure& disconnect_callback) = 0; |
| - virtual void Stop() = 0; |
| - |
| + // Creates a platform-specific instance of LocalInputMonitor. |
| static scoped_ptr<LocalInputMonitor> Create( |
|
Sergey Ulanov
2013/03/23 19:54:22
nit add comment that |client_session_control| is c
alexeypa (please no reviews)
2013/03/25 15:54:07
Done.
|
| scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner, |
| scoped_refptr<base::SingleThreadTaskRunner> input_task_runner, |
| - scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner); |
| + scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner, |
| + base::WeakPtr<ClientSessionControl> client_session_control); |
| + |
| + protected: |
| + LocalInputMonitor() {} |
| }; |
| } // namespace remoting |