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 #include "remoting/host/desktop_session_proxy.h" | 5 #include "remoting/host/desktop_session_proxy.h" |
6 | 6 |
7 #include "base/compiler_specific.h" | 7 #include "base/compiler_specific.h" |
8 #include "base/logging.h" | 8 #include "base/logging.h" |
9 #include "base/platform_file.h" | 9 #include "base/platform_file.h" |
10 #include "base/process_util.h" | 10 #include "base/process_util.h" |
11 #include "base/single_thread_task_runner.h" | 11 #include "base/single_thread_task_runner.h" |
12 #include "ipc/ipc_channel_proxy.h" | 12 #include "ipc/ipc_channel_proxy.h" |
13 #include "ipc/ipc_message_macros.h" | 13 #include "ipc/ipc_message_macros.h" |
14 #include "media/video/capture/screen/screen_capture_data.h" | 14 #include "media/video/capture/screen/screen_capture_data.h" |
15 #include "remoting/host/chromoting_messages.h" | 15 #include "remoting/host/chromoting_messages.h" |
16 #include "remoting/host/client_session.h" | 16 #include "remoting/host/client_session.h" |
17 #include "remoting/host/desktop_session_connector.h" | 17 #include "remoting/host/desktop_session_connector.h" |
18 #include "remoting/host/ipc_audio_capturer.h" | 18 #include "remoting/host/ipc_audio_capturer.h" |
19 #include "remoting/host/ipc_event_executor.h" | 19 #include "remoting/host/ipc_event_executor.h" |
| 20 #include "remoting/host/ipc_session_controller.h" |
20 #include "remoting/host/ipc_video_frame_capturer.h" | 21 #include "remoting/host/ipc_video_frame_capturer.h" |
| 22 #include "remoting/host/session_controller.h" |
21 #include "remoting/proto/audio.pb.h" | 23 #include "remoting/proto/audio.pb.h" |
22 #include "remoting/proto/control.pb.h" | 24 #include "remoting/proto/control.pb.h" |
23 #include "remoting/proto/event.pb.h" | 25 #include "remoting/proto/event.pb.h" |
24 | 26 |
25 #if defined(OS_WIN) | 27 #if defined(OS_WIN) |
26 #include "base/win/scoped_handle.h" | 28 #include "base/win/scoped_handle.h" |
27 #endif // defined(OS_WIN) | 29 #endif // defined(OS_WIN) |
28 | 30 |
29 namespace remoting { | 31 namespace remoting { |
30 | 32 |
(...skipping 23 matching lines...) Expand all Loading... |
54 } | 56 } |
55 | 57 |
56 scoped_ptr<EventExecutor> DesktopSessionProxy::CreateEventExecutor( | 58 scoped_ptr<EventExecutor> DesktopSessionProxy::CreateEventExecutor( |
57 scoped_refptr<base::SingleThreadTaskRunner> input_task_runner, | 59 scoped_refptr<base::SingleThreadTaskRunner> input_task_runner, |
58 scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner) { | 60 scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner) { |
59 DCHECK(caller_task_runner_->BelongsToCurrentThread()); | 61 DCHECK(caller_task_runner_->BelongsToCurrentThread()); |
60 | 62 |
61 return scoped_ptr<EventExecutor>(new IpcEventExecutor(this)); | 63 return scoped_ptr<EventExecutor>(new IpcEventExecutor(this)); |
62 } | 64 } |
63 | 65 |
| 66 scoped_ptr<SessionController> DesktopSessionProxy::CreateSessionController() { |
| 67 return scoped_ptr<SessionController>(new IpcSessionController(this)); |
| 68 } |
| 69 |
64 scoped_ptr<media::ScreenCapturer> DesktopSessionProxy::CreateVideoCapturer( | 70 scoped_ptr<media::ScreenCapturer> DesktopSessionProxy::CreateVideoCapturer( |
65 scoped_refptr<base::SingleThreadTaskRunner> capture_task_runner, | 71 scoped_refptr<base::SingleThreadTaskRunner> capture_task_runner, |
66 scoped_refptr<base::SingleThreadTaskRunner> encode_task_runner) { | 72 scoped_refptr<base::SingleThreadTaskRunner> encode_task_runner) { |
67 DCHECK(caller_task_runner_->BelongsToCurrentThread()); | 73 DCHECK(caller_task_runner_->BelongsToCurrentThread()); |
68 DCHECK(!video_capture_task_runner_.get()); | 74 DCHECK(!video_capture_task_runner_.get()); |
69 | 75 |
70 video_capture_task_runner_ = capture_task_runner; | 76 video_capture_task_runner_ = capture_task_runner; |
71 return scoped_ptr<media::ScreenCapturer>(new IpcVideoFrameCapturer(this)); | 77 return scoped_ptr<media::ScreenCapturer>(new IpcVideoFrameCapturer(this)); |
72 } | 78 } |
73 | 79 |
(...skipping 384 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
458 } | 464 } |
459 | 465 |
460 // static | 466 // static |
461 void DesktopSessionProxyTraits::Destruct( | 467 void DesktopSessionProxyTraits::Destruct( |
462 const DesktopSessionProxy* desktop_session_proxy) { | 468 const DesktopSessionProxy* desktop_session_proxy) { |
463 desktop_session_proxy->caller_task_runner_->DeleteSoon(FROM_HERE, | 469 desktop_session_proxy->caller_task_runner_->DeleteSoon(FROM_HERE, |
464 desktop_session_proxy); | 470 desktop_session_proxy); |
465 } | 471 } |
466 | 472 |
467 } // namespace remoting | 473 } // namespace remoting |
OLD | NEW |