Index: remoting/host/remoting_me2me_host.cc |
diff --git a/remoting/host/remoting_me2me_host.cc b/remoting/host/remoting_me2me_host.cc |
index 404c248637c4d603ec59e787f1ead1ceb4aec1da..b5c9eacfdbb712565915f4082f137aeccf9b723d 100644 |
--- a/remoting/host/remoting_me2me_host.cc |
+++ b/remoting/host/remoting_me2me_host.cc |
@@ -36,7 +36,7 @@ |
#include "remoting/host/chromoting_host_context.h" |
#include "remoting/host/composite_host_config.h" |
#include "remoting/host/constants.h" |
-#include "remoting/host/desktop_environment.h" |
+#include "remoting/host/desktop_environment_factory.h" |
#include "remoting/host/event_executor.h" |
#include "remoting/host/heartbeat_sender.h" |
#include "remoting/host/host_config.h" |
@@ -65,6 +65,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, |
@@ -505,11 +511,6 @@ class HostProcess |
} |
} |
- if (!desktop_environment_.get()) { |
- desktop_environment_ = |
- DesktopEnvironment::CreateForService(context_.get()); |
- } |
- |
NetworkSettings network_settings( |
allow_nat_traversal_ ? |
NetworkSettings::NAT_TRAVERSAL_ENABLED : |
@@ -520,7 +521,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())); |
@@ -606,7 +608,6 @@ class HostProcess |
// Destroy networking objects while we are on the network thread. |
host_ = NULL; |
- desktop_environment_.reset(); |
host_event_logger_.reset(); |
log_to_server_.reset(); |
heartbeat_sender_.reset(); |
@@ -645,9 +646,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_; |