| 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/ipc_desktop_environment.h" | 5 #include "remoting/host/ipc_desktop_environment.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "base/compiler_specific.h" | 9 #include "base/compiler_specific.h" |
| 10 #include "base/logging.h" | 10 #include "base/logging.h" |
| (...skipping 14 matching lines...) Expand all Loading... |
| 25 #include "third_party/webrtc/modules/desktop_capture/mouse_cursor_monitor.h" | 25 #include "third_party/webrtc/modules/desktop_capture/mouse_cursor_monitor.h" |
| 26 | 26 |
| 27 namespace remoting { | 27 namespace remoting { |
| 28 | 28 |
| 29 IpcDesktopEnvironment::IpcDesktopEnvironment( | 29 IpcDesktopEnvironment::IpcDesktopEnvironment( |
| 30 scoped_refptr<base::SingleThreadTaskRunner> audio_task_runner, | 30 scoped_refptr<base::SingleThreadTaskRunner> audio_task_runner, |
| 31 scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner, | 31 scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner, |
| 32 scoped_refptr<base::SingleThreadTaskRunner> io_task_runner, | 32 scoped_refptr<base::SingleThreadTaskRunner> io_task_runner, |
| 33 base::WeakPtr<ClientSessionControl> client_session_control, | 33 base::WeakPtr<ClientSessionControl> client_session_control, |
| 34 base::WeakPtr<DesktopSessionConnector> desktop_session_connector, | 34 base::WeakPtr<DesktopSessionConnector> desktop_session_connector, |
| 35 bool virtual_terminal) { | 35 const DesktopEnvironmentOptions& options) { |
| 36 DCHECK(caller_task_runner->BelongsToCurrentThread()); | 36 DCHECK(caller_task_runner->BelongsToCurrentThread()); |
| 37 | 37 |
| 38 desktop_session_proxy_ = new DesktopSessionProxy( | 38 desktop_session_proxy_ = new DesktopSessionProxy( |
| 39 audio_task_runner, caller_task_runner, io_task_runner, | 39 audio_task_runner, caller_task_runner, io_task_runner, |
| 40 client_session_control, desktop_session_connector, virtual_terminal); | 40 client_session_control, desktop_session_connector, options); |
| 41 } | 41 } |
| 42 | 42 |
| 43 IpcDesktopEnvironment::~IpcDesktopEnvironment() {} | 43 IpcDesktopEnvironment::~IpcDesktopEnvironment() {} |
| 44 | 44 |
| 45 std::unique_ptr<AudioCapturer> IpcDesktopEnvironment::CreateAudioCapturer() { | 45 std::unique_ptr<AudioCapturer> IpcDesktopEnvironment::CreateAudioCapturer() { |
| 46 return desktop_session_proxy_->CreateAudioCapturer(); | 46 return desktop_session_proxy_->CreateAudioCapturer(); |
| 47 } | 47 } |
| 48 | 48 |
| 49 std::unique_ptr<InputInjector> IpcDesktopEnvironment::CreateInputInjector() { | 49 std::unique_ptr<InputInjector> IpcDesktopEnvironment::CreateInputInjector() { |
| 50 return desktop_session_proxy_->CreateInputInjector(); | 50 return desktop_session_proxy_->CreateInputInjector(); |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 89 | 89 |
| 90 IpcDesktopEnvironmentFactory::~IpcDesktopEnvironmentFactory() {} | 90 IpcDesktopEnvironmentFactory::~IpcDesktopEnvironmentFactory() {} |
| 91 | 91 |
| 92 std::unique_ptr<DesktopEnvironment> IpcDesktopEnvironmentFactory::Create( | 92 std::unique_ptr<DesktopEnvironment> IpcDesktopEnvironmentFactory::Create( |
| 93 base::WeakPtr<ClientSessionControl> client_session_control, | 93 base::WeakPtr<ClientSessionControl> client_session_control, |
| 94 const DesktopEnvironmentOptions& options) { | 94 const DesktopEnvironmentOptions& options) { |
| 95 DCHECK(caller_task_runner_->BelongsToCurrentThread()); | 95 DCHECK(caller_task_runner_->BelongsToCurrentThread()); |
| 96 | 96 |
| 97 return base::MakeUnique<IpcDesktopEnvironment>( | 97 return base::MakeUnique<IpcDesktopEnvironment>( |
| 98 audio_task_runner_, caller_task_runner_, io_task_runner_, | 98 audio_task_runner_, caller_task_runner_, io_task_runner_, |
| 99 client_session_control, connector_factory_.GetWeakPtr(), | 99 client_session_control, connector_factory_.GetWeakPtr(), options); |
| 100 options.enable_curtaining()); | |
| 101 } | 100 } |
| 102 | 101 |
| 103 bool IpcDesktopEnvironmentFactory::SupportsAudioCapture() const { | 102 bool IpcDesktopEnvironmentFactory::SupportsAudioCapture() const { |
| 104 DCHECK(caller_task_runner_->BelongsToCurrentThread()); | 103 DCHECK(caller_task_runner_->BelongsToCurrentThread()); |
| 105 | 104 |
| 106 return AudioCapturer::IsSupported(); | 105 return AudioCapturer::IsSupported(); |
| 107 } | 106 } |
| 108 | 107 |
| 109 void IpcDesktopEnvironmentFactory::ConnectTerminal( | 108 void IpcDesktopEnvironmentFactory::ConnectTerminal( |
| 110 DesktopSessionProxy* desktop_session_proxy, | 109 DesktopSessionProxy* desktop_session_proxy, |
| (...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 193 if (i != active_connections_.end()) { | 192 if (i != active_connections_.end()) { |
| 194 DesktopSessionProxy* desktop_session_proxy = i->second; | 193 DesktopSessionProxy* desktop_session_proxy = i->second; |
| 195 active_connections_.erase(i); | 194 active_connections_.erase(i); |
| 196 | 195 |
| 197 // Disconnect the client session. | 196 // Disconnect the client session. |
| 198 desktop_session_proxy->DisconnectSession(protocol::OK); | 197 desktop_session_proxy->DisconnectSession(protocol::OK); |
| 199 } | 198 } |
| 200 } | 199 } |
| 201 | 200 |
| 202 } // namespace remoting | 201 } // namespace remoting |
| OLD | NEW |