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" |
11 #include "base/callback.h" | 11 #include "base/callback.h" |
12 #include "base/compiler_specific.h" | 12 #include "base/compiler_specific.h" |
13 #include "base/memory/ref_counted.h" | 13 #include "base/memory/ref_counted.h" |
14 #include "base/memory/scoped_ptr.h" | 14 #include "base/memory/scoped_ptr.h" |
15 #include "base/memory/weak_ptr.h" | 15 #include "base/memory/weak_ptr.h" |
16 #include "ipc/ipc_listener.h" | 16 #include "ipc/ipc_listener.h" |
17 #include "ipc/ipc_platform_file.h" | 17 #include "ipc/ipc_platform_file.h" |
18 #include "media/video/capture/screen/screen_capturer.h" | 18 #include "media/video/capture/screen/screen_capturer.h" |
19 #include "media/video/capture/screen/shared_buffer.h" | 19 #include "media/video/capture/screen/shared_buffer.h" |
20 #include "remoting/host/client_session_control.h" | 20 #include "remoting/host/client_session_control.h" |
21 #include "remoting/host/ui_strings.h" | |
22 #include "remoting/protocol/clipboard_stub.h" | 21 #include "remoting/protocol/clipboard_stub.h" |
23 #include "third_party/skia/include/core/SkRect.h" | 22 #include "third_party/skia/include/core/SkRect.h" |
24 #include "third_party/skia/include/core/SkSize.h" | 23 #include "third_party/skia/include/core/SkSize.h" |
25 | 24 |
26 namespace IPC { | 25 namespace IPC { |
27 class ChannelProxy; | 26 class ChannelProxy; |
28 class Message; | 27 class Message; |
29 } // namespace IPC | 28 } // namespace IPC |
30 | 29 |
31 namespace remoting { | 30 namespace remoting { |
32 | 31 |
33 class AudioCapturer; | 32 class AudioCapturer; |
34 class AudioPacket; | 33 class AudioPacket; |
35 class AutoThreadTaskRunner; | 34 class AutoThreadTaskRunner; |
36 class DesktopEnvironment; | 35 class DesktopEnvironment; |
37 class DesktopEnvironmentFactory; | 36 class DesktopEnvironmentFactory; |
38 class DisconnectWindow; | |
39 class InputInjector; | 37 class InputInjector; |
40 class RemoteInputFilter; | 38 class RemoteInputFilter; |
41 class ScreenControls; | 39 class ScreenControls; |
42 class ScreenResolution; | 40 class ScreenResolution; |
43 | 41 |
44 namespace protocol { | 42 namespace protocol { |
45 class InputEventTracker; | 43 class InputEventTracker; |
46 } // namespace protocol | 44 } // namespace protocol |
47 | 45 |
48 // Provides screen/audio capturing and input injection services for | 46 // Provides screen/audio capturing and input injection services for |
(...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
214 std::string client_jid_; | 212 std::string client_jid_; |
215 | 213 |
216 // Used to disable callbacks to |this|. | 214 // Used to disable callbacks to |this|. |
217 base::WeakPtrFactory<ClientSessionControl> control_factory_; | 215 base::WeakPtrFactory<ClientSessionControl> control_factory_; |
218 | 216 |
219 base::WeakPtr<Delegate> delegate_; | 217 base::WeakPtr<Delegate> delegate_; |
220 | 218 |
221 // The DesktopEnvironment instance used by this agent. | 219 // The DesktopEnvironment instance used by this agent. |
222 scoped_ptr<DesktopEnvironment> desktop_environment_; | 220 scoped_ptr<DesktopEnvironment> desktop_environment_; |
223 | 221 |
224 // Provides a user interface allowing the local user to close the connection. | |
225 scoped_ptr<DisconnectWindow> disconnect_window_; | |
226 | |
227 // Executes keyboard, mouse and clipboard events. | 222 // Executes keyboard, mouse and clipboard events. |
228 scoped_ptr<InputInjector> input_injector_; | 223 scoped_ptr<InputInjector> input_injector_; |
229 | 224 |
230 // Tracker used to release pressed keys and buttons when disconnecting. | 225 // Tracker used to release pressed keys and buttons when disconnecting. |
231 scoped_ptr<protocol::InputEventTracker> input_tracker_; | 226 scoped_ptr<protocol::InputEventTracker> input_tracker_; |
232 | 227 |
233 // Filter used to disable remote inputs during local input activity. | 228 // Filter used to disable remote inputs during local input activity. |
234 scoped_ptr<RemoteInputFilter> remote_input_filter_; | 229 scoped_ptr<RemoteInputFilter> remote_input_filter_; |
235 | 230 |
236 // Used to apply client-requested changes in screen resolution. | 231 // Used to apply client-requested changes in screen resolution. |
(...skipping 15 matching lines...) Expand all Loading... |
252 // List of the shared buffers. | 247 // List of the shared buffers. |
253 typedef std::list<scoped_refptr<media::SharedBuffer> > SharedBuffers; | 248 typedef std::list<scoped_refptr<media::SharedBuffer> > SharedBuffers; |
254 SharedBuffers shared_buffers_; | 249 SharedBuffers shared_buffers_; |
255 | 250 |
256 // True if the desktop session agent has been started. | 251 // True if the desktop session agent has been started. |
257 bool started_; | 252 bool started_; |
258 | 253 |
259 // Captures the screen. | 254 // Captures the screen. |
260 scoped_ptr<media::ScreenCapturer> video_capturer_; | 255 scoped_ptr<media::ScreenCapturer> video_capturer_; |
261 | 256 |
262 UiStrings ui_strings_; | |
263 | |
264 DISALLOW_COPY_AND_ASSIGN(DesktopSessionAgent); | 257 DISALLOW_COPY_AND_ASSIGN(DesktopSessionAgent); |
265 }; | 258 }; |
266 | 259 |
267 } // namespace remoting | 260 } // namespace remoting |
268 | 261 |
269 #endif // REMOTING_HOST_DESKTOP_SESSION_AGENT_H_ | 262 #endif // REMOTING_HOST_DESKTOP_SESSION_AGENT_H_ |
OLD | NEW |