OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef REMOTING_HOST_WIN_SESSION_EVENT_EXECUTOR_H_ | 5 #ifndef REMOTING_HOST_WIN_SESSION_INPUT_INJECTOR_H_ |
6 #define REMOTING_HOST_WIN_SESSION_EVENT_EXECUTOR_H_ | 6 #define REMOTING_HOST_WIN_SESSION_INPUT_INJECTOR_H_ |
7 | 7 |
8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
9 #include "base/callback_forward.h" | 9 #include "base/callback_forward.h" |
| 10 #include "base/memory/ref_counted.h" |
10 #include "base/memory/scoped_ptr.h" | 11 #include "base/memory/scoped_ptr.h" |
11 #include "base/memory/ref_counted.h" | 12 #include "remoting/host/input_injector.h" |
12 #include "remoting/host/event_executor.h" | |
13 | 13 |
14 namespace base { | 14 namespace base { |
15 class SingleThreadTaskRunner; | 15 class SingleThreadTaskRunner; |
16 } // namespace base | 16 } // namespace base |
17 | 17 |
18 namespace remoting { | 18 namespace remoting { |
19 | 19 |
20 // Monitors and passes key/mouse events to a nested event executor. Injects | 20 // Monitors and passes key/mouse events to a nested event executor. Injects |
21 // Secure Attention Sequence (SAS) when Ctrl+Alt+Del key combination has been | 21 // Secure Attention Sequence (SAS) when Ctrl+Alt+Del key combination has been |
22 // detected. | 22 // detected. |
23 class SessionEventExecutorWin : public EventExecutor { | 23 class SessionInputInjectorWin : public InputInjector { |
24 public: | 24 public: |
25 // |inject_sas| is invoked on |inject_sas_task_runner| to generate SAS on | 25 // |inject_sas| is invoked on |inject_sas_task_runner| to generate SAS on |
26 // Vista+. | 26 // Vista+. |
27 SessionEventExecutorWin( | 27 SessionInputInjectorWin( |
28 scoped_refptr<base::SingleThreadTaskRunner> input_task_runner, | 28 scoped_refptr<base::SingleThreadTaskRunner> input_task_runner, |
29 scoped_ptr<EventExecutor> nested_executor, | 29 scoped_ptr<InputInjector> nested_executor, |
30 scoped_refptr<base::SingleThreadTaskRunner> inject_sas_task_runner, | 30 scoped_refptr<base::SingleThreadTaskRunner> inject_sas_task_runner, |
31 const base::Closure& inject_sas); | 31 const base::Closure& inject_sas); |
32 virtual ~SessionEventExecutorWin(); | 32 virtual ~SessionInputInjectorWin(); |
33 | 33 |
34 // EventExecutor implementation. | 34 // InputInjector implementation. |
35 virtual void Start( | 35 virtual void Start( |
36 scoped_ptr<protocol::ClipboardStub> client_clipboard) OVERRIDE; | 36 scoped_ptr<protocol::ClipboardStub> client_clipboard) OVERRIDE; |
37 | 37 |
38 // protocol::ClipboardStub implementation. | 38 // protocol::ClipboardStub implementation. |
39 virtual void InjectClipboardEvent( | 39 virtual void InjectClipboardEvent( |
40 const protocol::ClipboardEvent& event) OVERRIDE; | 40 const protocol::ClipboardEvent& event) OVERRIDE; |
41 | 41 |
42 // protocol::InputStub implementation. | 42 // protocol::InputStub implementation. |
43 virtual void InjectKeyEvent(const protocol::KeyEvent& event) OVERRIDE; | 43 virtual void InjectKeyEvent(const protocol::KeyEvent& event) OVERRIDE; |
44 virtual void InjectMouseEvent(const protocol::MouseEvent& event) OVERRIDE; | 44 virtual void InjectMouseEvent(const protocol::MouseEvent& event) OVERRIDE; |
45 | 45 |
46 private: | 46 private: |
47 // The actual implementation resides in SessionEventExecutorWin::Core class. | 47 // The actual implementation resides in SessionInputInjectorWin::Core class. |
48 class Core; | 48 class Core; |
49 scoped_refptr<Core> core_; | 49 scoped_refptr<Core> core_; |
50 | 50 |
51 DISALLOW_COPY_AND_ASSIGN(SessionEventExecutorWin); | 51 DISALLOW_COPY_AND_ASSIGN(SessionInputInjectorWin); |
52 }; | 52 }; |
53 | 53 |
54 } // namespace remoting | 54 } // namespace remoting |
55 | 55 |
56 #endif // REMOTING_HOST_WIN_SESSION_EVENT_EXECUTOR_H_ | 56 #endif // REMOTING_HOST_WIN_SESSION_INPUT_INJECTOR_H_ |
OLD | NEW |