Index: remoting/host/simple_host_process.cc |
diff --git a/remoting/host/simple_host_process.cc b/remoting/host/simple_host_process.cc |
index 0887eb3499f9241a870806f427754e35d545f0d4..38902f93d0038e4d79b735278295a372c600e1fd 100644 |
--- a/remoting/host/simple_host_process.cc |
+++ b/remoting/host/simple_host_process.cc |
@@ -41,6 +41,8 @@ |
#include "remoting/host/desktop_environment.h" |
#include "remoting/host/dns_blackhole_checker.h" |
#include "remoting/host/event_executor.h" |
+#include "remoting/host/desktop_environment.h" |
+#include "remoting/host/desktop_environment_factory.h" |
#include "remoting/host/heartbeat_sender.h" |
#include "remoting/host/host_key_pair.h" |
#include "remoting/host/host_secret.h" |
@@ -94,6 +96,36 @@ const char kVideoSwitchValueVp8[] = "vp8"; |
namespace remoting { |
+class FakeDesktopEnvironmentFactory : public DesktopEnvironmentFactory { |
+ public: |
+ FakeDesktopEnvironmentFactory(); |
+ virtual ~FakeDesktopEnvironmentFactory(); |
+ |
+ virtual scoped_ptr<DesktopEnvironment> Create( |
+ ChromotingHostContext* context) OVERRIDE; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(FakeDesktopEnvironmentFactory); |
+}; |
+ |
+FakeDesktopEnvironmentFactory::FakeDesktopEnvironmentFactory() { |
+} |
+ |
+FakeDesktopEnvironmentFactory::~FakeDesktopEnvironmentFactory() { |
+} |
+ |
+scoped_ptr<DesktopEnvironment> FakeDesktopEnvironmentFactory::Create( |
+ ChromotingHostContext* context) { |
+ scoped_ptr<VideoFrameCapturer> capturer(new VideoFrameCapturerFake()); |
+ scoped_ptr<EventExecutor> event_executor = EventExecutor::Create( |
+ context->desktop_task_runner(), |
+ context->ui_task_runner()); |
+ scoped_ptr<AudioCapturer> audio_capturer(NULL); |
+ return scoped_ptr<DesktopEnvironment>(new DesktopEnvironment( |
+ audio_capturer.Pass(), |
+ event_executor.Pass(), |
+ capturer.Pass())); |
+} |
+ |
class SimpleHost : public HeartbeatSender::Listener { |
public: |
SimpleHost() |
@@ -229,22 +261,13 @@ class SimpleHost : public HeartbeatSender::Listener { |
base::Bind(&SimpleHost::OnAuthFailed, base::Unretained(this)))); |
if (fake_) { |
- scoped_ptr<VideoFrameCapturer> capturer(new VideoFrameCapturerFake()); |
- scoped_ptr<EventExecutor> event_executor = EventExecutor::Create( |
- context_.desktop_task_runner(), |
- context_.ui_task_runner()); |
- scoped_ptr<AudioCapturer> audio_capturer(NULL); |
- desktop_environment_ = DesktopEnvironment::CreateFake( |
- &context_, |
- capturer.Pass(), |
- event_executor.Pass(), |
- audio_capturer.Pass()); |
+ desktop_environment_factory_.reset(new FakeDesktopEnvironmentFactory()); |
} else { |
- desktop_environment_ = DesktopEnvironment::Create(&context_); |
+ desktop_environment_factory_.reset(new DesktopEnvironmentFactory()); |
} |
host_ = new ChromotingHost( |
- &context_, signal_strategy_.get(), desktop_environment_.get(), |
+ &context_, signal_strategy_.get(), desktop_environment_factory_.get(), |
CreateHostSessionManager(network_settings_, |
context_.url_request_context_getter())); |
@@ -331,10 +354,10 @@ class SimpleHost : public HeartbeatSender::Listener { |
std::string xmpp_auth_token_; |
std::string xmpp_auth_service_; |
+ scoped_ptr<DesktopEnvironmentFactory> desktop_environment_factory_; |
scoped_ptr<XmppSignalStrategy> signal_strategy_; |
scoped_ptr<DnsBlackholeChecker> dns_blackhole_checker_; |
scoped_ptr<SignalingConnector> signaling_connector_; |
- scoped_ptr<DesktopEnvironment> desktop_environment_; |
scoped_ptr<LogToServer> log_to_server_; |
scoped_ptr<It2MeHostUserInterface> it2me_host_user_interface_; |
scoped_ptr<RegisterSupportHostRequest> register_request_; |