Index: remoting/host/remoting_me2me_host.cc |
diff --git a/remoting/host/remoting_me2me_host.cc b/remoting/host/remoting_me2me_host.cc |
index bc18501420e2889552e4b038c6fdf02c4cf6a49f..6dcad1bd8b18cb7069577d009b931c3596b9da23 100644 |
--- a/remoting/host/remoting_me2me_host.cc |
+++ b/remoting/host/remoting_me2me_host.cc |
@@ -39,7 +39,7 @@ |
#include "remoting/host/config_file_watcher.h" |
#include "remoting/host/constants.h" |
#include "remoting/host/config_file_watcher.h" |
-#include "remoting/host/desktop_environment.h" |
+#include "remoting/host/desktop_environment_factory.h" |
#include "remoting/host/dns_blackhole_checker.h" |
#include "remoting/host/event_executor.h" |
#include "remoting/host/heartbeat_sender.h" |
@@ -75,6 +75,7 @@ |
// N.B. OS_WIN is defined by including src/base headers. |
#if defined(OS_WIN) |
#include <commctrl.h> |
+#include "remoting/host/win/session_desktop_environment_factory.h" |
#endif // defined(OS_WIN) |
#if defined(TOOLKIT_GTK) |
@@ -120,6 +121,11 @@ class HostProcess |
allow_nat_traversal_(true), |
restarting_(false), |
shutting_down_(false), |
+#if defined(OS_WIN) |
+ desktop_environment_factory_(new SessionDesktopEnvironmentFactory()), |
+#else // !defined(OS_WIN) |
+ desktop_environment_factory_(new DesktopEnvironmentFactory()), |
+#endif // !defined(OS_WIN) |
exit_code_(kSuccessExitCode) |
#if defined(OS_MACOSX) |
, curtain_(base::Bind(&HostProcess::OnDisconnectRequested, |
@@ -537,11 +543,6 @@ class HostProcess |
signaling_connector_->EnableOAuth(oauth_credentials.Pass()); |
} |
- if (!desktop_environment_.get()) { |
- desktop_environment_ = |
- DesktopEnvironment::CreateForService(context_.get()); |
- } |
- |
NetworkSettings network_settings( |
allow_nat_traversal_ ? |
NetworkSettings::NAT_TRAVERSAL_ENABLED : |
@@ -552,7 +553,8 @@ class HostProcess |
} |
host_ = new ChromotingHost( |
- context_.get(), signal_strategy_.get(), desktop_environment_.get(), |
+ context_.get(), signal_strategy_.get(), |
+ desktop_environment_factory_.get(), |
CreateHostSessionManager(network_settings, |
context_->url_request_context_getter())); |
@@ -650,7 +652,6 @@ class HostProcess |
void ResetHost() { |
DCHECK(context_->network_task_runner()->BelongsToCurrentThread()); |
- desktop_environment_.reset(); |
host_event_logger_.reset(); |
log_to_server_.reset(); |
heartbeat_sender_.reset(); |
@@ -685,9 +686,9 @@ class HostProcess |
bool restarting_; |
bool shutting_down_; |
+ scoped_ptr<DesktopEnvironmentFactory> desktop_environment_factory_; |
scoped_ptr<XmppSignalStrategy> signal_strategy_; |
scoped_ptr<SignalingConnector> signaling_connector_; |
- scoped_ptr<DesktopEnvironment> desktop_environment_; |
scoped_ptr<HeartbeatSender> heartbeat_sender_; |
scoped_ptr<LogToServer> log_to_server_; |
scoped_ptr<HostEventLogger> host_event_logger_; |