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_DESKTOP_SESSION_AGENT_H_ | 5 #ifndef REMOTING_HOST_DESKTOP_SESSION_AGENT_H_ |
6 #define REMOTING_HOST_DESKTOP_SESSION_AGENT_H_ | 6 #define REMOTING_HOST_DESKTOP_SESSION_AGENT_H_ |
7 | 7 |
8 #include <list> | 8 #include <list> |
9 | 9 |
10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
(...skipping 18 matching lines...) Expand all Loading... |
29 } // namespace IPC | 29 } // namespace IPC |
30 | 30 |
31 namespace remoting { | 31 namespace remoting { |
32 | 32 |
33 class AudioCapturer; | 33 class AudioCapturer; |
34 class AudioPacket; | 34 class AudioPacket; |
35 class AutoThreadTaskRunner; | 35 class AutoThreadTaskRunner; |
36 class DesktopEnvironmentFactory; | 36 class DesktopEnvironmentFactory; |
37 class DisconnectWindow; | 37 class DisconnectWindow; |
38 class EventExecutor; | 38 class EventExecutor; |
39 class LocalInputMonitor; | |
40 class RemoteInputFilter; | 39 class RemoteInputFilter; |
41 class ScreenResolution; | 40 class ScreenResolution; |
42 | 41 |
43 namespace protocol { | 42 namespace protocol { |
44 class InputEventTracker; | 43 class InputEventTracker; |
45 } // namespace protocol | 44 } // namespace protocol |
46 | 45 |
47 // Provides screen/audio capturing and input injection services for | 46 // Provides screen/audio capturing and input injection services for |
48 // the network process. | 47 // the network process. |
49 class DesktopSessionAgent | 48 class DesktopSessionAgent |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
109 scoped_refptr<AutoThreadTaskRunner> input_task_runner, | 108 scoped_refptr<AutoThreadTaskRunner> input_task_runner, |
110 scoped_refptr<AutoThreadTaskRunner> io_task_runner, | 109 scoped_refptr<AutoThreadTaskRunner> io_task_runner, |
111 scoped_refptr<AutoThreadTaskRunner> video_capture_task_runner); | 110 scoped_refptr<AutoThreadTaskRunner> video_capture_task_runner); |
112 | 111 |
113 friend class base::RefCountedThreadSafe<DesktopSessionAgent>; | 112 friend class base::RefCountedThreadSafe<DesktopSessionAgent>; |
114 virtual ~DesktopSessionAgent(); | 113 virtual ~DesktopSessionAgent(); |
115 | 114 |
116 // SessionController::Delegate interface. | 115 // SessionController::Delegate interface. |
117 virtual void DisconnectSession() OVERRIDE; | 116 virtual void DisconnectSession() OVERRIDE; |
118 virtual void OnLocalMouseMoved(const SkIPoint& position) OVERRIDE; | 117 virtual void OnLocalMouseMoved(const SkIPoint& position) OVERRIDE; |
| 118 virtual void PauseSession(bool pause) OVERRIDE; |
119 | 119 |
120 // Creates a connected IPC channel to be used to access the screen/audio | 120 // Creates a connected IPC channel to be used to access the screen/audio |
121 // recorders and input stubs. | 121 // recorders and input stubs. |
122 virtual bool CreateChannelForNetworkProcess( | 122 virtual bool CreateChannelForNetworkProcess( |
123 IPC::PlatformFileForTransit* client_out, | 123 IPC::PlatformFileForTransit* client_out, |
124 scoped_ptr<IPC::ChannelProxy>* server_out) = 0; | 124 scoped_ptr<IPC::ChannelProxy>* server_out) = 0; |
125 | 125 |
126 // Handles StartSessionAgent request from the client. | 126 // Handles StartSessionAgent request from the client. |
127 void OnStartSessionAgent(const std::string& authenticated_jid, | 127 void OnStartSessionAgent(const std::string& authenticated_jid, |
128 const ScreenResolution& resolution); | 128 const ScreenResolution& resolution); |
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
209 scoped_ptr<AudioCapturer> audio_capturer_; | 209 scoped_ptr<AudioCapturer> audio_capturer_; |
210 | 210 |
211 base::WeakPtr<Delegate> delegate_; | 211 base::WeakPtr<Delegate> delegate_; |
212 | 212 |
213 // Provides a user interface allowing the local user to close the connection. | 213 // Provides a user interface allowing the local user to close the connection. |
214 scoped_ptr<DisconnectWindow> disconnect_window_; | 214 scoped_ptr<DisconnectWindow> disconnect_window_; |
215 | 215 |
216 // Executes keyboard, mouse and clipboard events. | 216 // Executes keyboard, mouse and clipboard events. |
217 scoped_ptr<EventExecutor> event_executor_; | 217 scoped_ptr<EventExecutor> event_executor_; |
218 | 218 |
219 // Monitor local inputs to allow remote inputs to be blocked while the local | |
220 // user is trying to do something. | |
221 scoped_ptr<LocalInputMonitor> local_input_monitor_; | |
222 | |
223 // Tracker used to release pressed keys and buttons when disconnecting. | 219 // Tracker used to release pressed keys and buttons when disconnecting. |
224 scoped_ptr<protocol::InputEventTracker> input_tracker_; | 220 scoped_ptr<protocol::InputEventTracker> input_tracker_; |
225 | 221 |
226 // Filter used to disable remote inputs during local input activity. | 222 // Filter used to disable remote inputs during local input activity. |
227 scoped_ptr<RemoteInputFilter> remote_input_filter_; | 223 scoped_ptr<RemoteInputFilter> remote_input_filter_; |
228 | 224 |
229 // Used to apply client-requested changes in screen resolution. | 225 // Used to apply client-requested changes in screen resolution. |
230 scoped_ptr<SessionController> session_controller_; | 226 scoped_ptr<SessionController> session_controller_; |
231 | 227 |
232 // IPC channel connecting the desktop process with the network process. | 228 // IPC channel connecting the desktop process with the network process. |
(...skipping 20 matching lines...) Expand all Loading... |
253 scoped_ptr<media::ScreenCapturer> video_capturer_; | 249 scoped_ptr<media::ScreenCapturer> video_capturer_; |
254 | 250 |
255 UiStrings ui_strings_; | 251 UiStrings ui_strings_; |
256 | 252 |
257 DISALLOW_COPY_AND_ASSIGN(DesktopSessionAgent); | 253 DISALLOW_COPY_AND_ASSIGN(DesktopSessionAgent); |
258 }; | 254 }; |
259 | 255 |
260 } // namespace remoting | 256 } // namespace remoting |
261 | 257 |
262 #endif // REMOTING_HOST_DESKTOP_SESSION_AGENT_H_ | 258 #endif // REMOTING_HOST_DESKTOP_SESSION_AGENT_H_ |
OLD | NEW |