Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(98)

Side by Side Diff: remoting/host/simple_host_process.cc

Issue 10915206: [Chromoting] Refactoring DesktopEnvironment and moving screen/audio recorders to ClientSession. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebased Created 8 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 // This is an application of a minimal host process in a Chromoting 5 // This is an application of a minimal host process in a Chromoting
6 // system. It serves the purpose of gluing different pieces together 6 // system. It serves the purpose of gluing different pieces together
7 // to make a functional host process for testing. 7 // to make a functional host process for testing.
8 // 8 //
9 // It peforms the following functionality: 9 // It peforms the following functionality:
10 // 1. Connect to the GTalk network and register the machine as a host. 10 // 1. Connect to the GTalk network and register the machine as a host.
(...skipping 23 matching lines...) Expand all
34 #include "net/socket/ssl_server_socket.h" 34 #include "net/socket/ssl_server_socket.h"
35 #include "remoting/base/auto_thread_task_runner.h" 35 #include "remoting/base/auto_thread_task_runner.h"
36 #include "remoting/base/constants.h" 36 #include "remoting/base/constants.h"
37 #include "remoting/host/audio_capturer.h" 37 #include "remoting/host/audio_capturer.h"
38 #include "remoting/host/chromoting_host_context.h" 38 #include "remoting/host/chromoting_host_context.h"
39 #include "remoting/host/chromoting_host.h" 39 #include "remoting/host/chromoting_host.h"
40 #include "remoting/host/constants.h" 40 #include "remoting/host/constants.h"
41 #include "remoting/host/desktop_environment.h" 41 #include "remoting/host/desktop_environment.h"
42 #include "remoting/host/dns_blackhole_checker.h" 42 #include "remoting/host/dns_blackhole_checker.h"
43 #include "remoting/host/event_executor.h" 43 #include "remoting/host/event_executor.h"
44 #include "remoting/host/desktop_environment.h"
45 #include "remoting/host/desktop_environment_factory.h"
44 #include "remoting/host/heartbeat_sender.h" 46 #include "remoting/host/heartbeat_sender.h"
45 #include "remoting/host/host_key_pair.h" 47 #include "remoting/host/host_key_pair.h"
46 #include "remoting/host/host_secret.h" 48 #include "remoting/host/host_secret.h"
47 #include "remoting/host/it2me_host_user_interface.h" 49 #include "remoting/host/it2me_host_user_interface.h"
48 #include "remoting/host/json_host_config.h" 50 #include "remoting/host/json_host_config.h"
49 #include "remoting/host/log_to_server.h" 51 #include "remoting/host/log_to_server.h"
50 #include "remoting/host/network_settings.h" 52 #include "remoting/host/network_settings.h"
51 #include "remoting/host/register_support_host_request.h" 53 #include "remoting/host/register_support_host_request.h"
52 #include "remoting/host/session_manager_factory.h" 54 #include "remoting/host/session_manager_factory.h"
53 #include "remoting/host/signaling_connector.h" 55 #include "remoting/host/signaling_connector.h"
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
87 const char kMaxPortSwitchName[] = "max-port"; 89 const char kMaxPortSwitchName[] = "max-port";
88 90
89 const char kVideoSwitchValueVerbatim[] = "verbatim"; 91 const char kVideoSwitchValueVerbatim[] = "verbatim";
90 const char kVideoSwitchValueZip[] = "zip"; 92 const char kVideoSwitchValueZip[] = "zip";
91 const char kVideoSwitchValueVp8[] = "vp8"; 93 const char kVideoSwitchValueVp8[] = "vp8";
92 94
93 } // namespace 95 } // namespace
94 96
95 namespace remoting { 97 namespace remoting {
96 98
99 class FakeDesktopEnvironmentFactory : public DesktopEnvironmentFactory {
100 public:
101 FakeDesktopEnvironmentFactory();
102 virtual ~FakeDesktopEnvironmentFactory();
103
104 virtual scoped_ptr<DesktopEnvironment> Create(
105 ChromotingHostContext* context) OVERRIDE;
106
107 DISALLOW_COPY_AND_ASSIGN(FakeDesktopEnvironmentFactory);
108 };
109
110 FakeDesktopEnvironmentFactory::FakeDesktopEnvironmentFactory() {
111 }
112
113 FakeDesktopEnvironmentFactory::~FakeDesktopEnvironmentFactory() {
114 }
115
116 scoped_ptr<DesktopEnvironment> FakeDesktopEnvironmentFactory::Create(
117 ChromotingHostContext* context) {
118 scoped_ptr<VideoFrameCapturer> capturer(new VideoFrameCapturerFake());
119 scoped_ptr<EventExecutor> event_executor = EventExecutor::Create(
120 context->desktop_task_runner(),
121 context->ui_task_runner());
122 scoped_ptr<AudioCapturer> audio_capturer(NULL);
123 return scoped_ptr<DesktopEnvironment>(new DesktopEnvironment(
124 audio_capturer.Pass(),
125 event_executor.Pass(),
126 capturer.Pass()));
127 }
128
97 class SimpleHost : public HeartbeatSender::Listener { 129 class SimpleHost : public HeartbeatSender::Listener {
98 public: 130 public:
99 SimpleHost() 131 SimpleHost()
100 : message_loop_(MessageLoop::TYPE_UI), 132 : message_loop_(MessageLoop::TYPE_UI),
101 context_(new AutoThreadTaskRunner(message_loop_.message_loop_proxy())), 133 context_(new AutoThreadTaskRunner(message_loop_.message_loop_proxy())),
102 fake_(false), 134 fake_(false),
103 is_it2me_(false), 135 is_it2me_(false),
104 shutting_down_(false), 136 shutting_down_(false),
105 exit_code_(kSuccessExitCode) { 137 exit_code_(kSuccessExitCode) {
106 context_.Start(); 138 context_.Start();
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
222 signal_strategy_.reset(new XmppSignalStrategy( 254 signal_strategy_.reset(new XmppSignalStrategy(
223 context_.url_request_context_getter(), 255 context_.url_request_context_getter(),
224 xmpp_login_, xmpp_auth_token_, xmpp_auth_service_)); 256 xmpp_login_, xmpp_auth_token_, xmpp_auth_service_));
225 scoped_ptr<DnsBlackholeChecker> dns_blackhole_checker( 257 scoped_ptr<DnsBlackholeChecker> dns_blackhole_checker(
226 new DnsBlackholeChecker(&context_, kDefaultHostTalkGadgetPrefix)); 258 new DnsBlackholeChecker(&context_, kDefaultHostTalkGadgetPrefix));
227 signaling_connector_.reset(new SignalingConnector( 259 signaling_connector_.reset(new SignalingConnector(
228 signal_strategy_.get(), &context_, dns_blackhole_checker.Pass(), 260 signal_strategy_.get(), &context_, dns_blackhole_checker.Pass(),
229 base::Bind(&SimpleHost::OnAuthFailed, base::Unretained(this)))); 261 base::Bind(&SimpleHost::OnAuthFailed, base::Unretained(this))));
230 262
231 if (fake_) { 263 if (fake_) {
232 scoped_ptr<VideoFrameCapturer> capturer(new VideoFrameCapturerFake()); 264 desktop_environment_factory_.reset(new FakeDesktopEnvironmentFactory());
233 scoped_ptr<EventExecutor> event_executor = EventExecutor::Create(
234 context_.desktop_task_runner(),
235 context_.ui_task_runner());
236 scoped_ptr<AudioCapturer> audio_capturer(NULL);
237 desktop_environment_ = DesktopEnvironment::CreateFake(
238 &context_,
239 capturer.Pass(),
240 event_executor.Pass(),
241 audio_capturer.Pass());
242 } else { 265 } else {
243 desktop_environment_ = DesktopEnvironment::Create(&context_); 266 desktop_environment_factory_.reset(new DesktopEnvironmentFactory());
244 } 267 }
245 268
246 host_ = new ChromotingHost( 269 host_ = new ChromotingHost(
247 &context_, signal_strategy_.get(), desktop_environment_.get(), 270 &context_, signal_strategy_.get(), desktop_environment_factory_.get(),
248 CreateHostSessionManager(network_settings_, 271 CreateHostSessionManager(network_settings_,
249 context_.url_request_context_getter())); 272 context_.url_request_context_getter()));
250 273
251 ServerLogEntry::Mode mode = 274 ServerLogEntry::Mode mode =
252 is_it2me_ ? ServerLogEntry::IT2ME : ServerLogEntry::ME2ME; 275 is_it2me_ ? ServerLogEntry::IT2ME : ServerLogEntry::ME2ME;
253 log_to_server_.reset(new LogToServer(host_, mode, signal_strategy_.get())); 276 log_to_server_.reset(new LogToServer(host_, mode, signal_strategy_.get()));
254 277
255 if (is_it2me_) { 278 if (is_it2me_) {
256 it2me_host_user_interface_.reset(new It2MeHostUserInterface(&context_)); 279 it2me_host_user_interface_.reset(new It2MeHostUserInterface(&context_));
257 it2me_host_user_interface_->Start( 280 it2me_host_user_interface_->Start(
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
324 NetworkSettings network_settings_; 347 NetworkSettings network_settings_;
325 scoped_ptr<CandidateSessionConfig> protocol_config_; 348 scoped_ptr<CandidateSessionConfig> protocol_config_;
326 349
327 std::string host_id_; 350 std::string host_id_;
328 HostKeyPair key_pair_; 351 HostKeyPair key_pair_;
329 protocol::SharedSecretHash host_secret_hash_; 352 protocol::SharedSecretHash host_secret_hash_;
330 std::string xmpp_login_; 353 std::string xmpp_login_;
331 std::string xmpp_auth_token_; 354 std::string xmpp_auth_token_;
332 std::string xmpp_auth_service_; 355 std::string xmpp_auth_service_;
333 356
357 scoped_ptr<DesktopEnvironmentFactory> desktop_environment_factory_;
334 scoped_ptr<XmppSignalStrategy> signal_strategy_; 358 scoped_ptr<XmppSignalStrategy> signal_strategy_;
335 scoped_ptr<DnsBlackholeChecker> dns_blackhole_checker_; 359 scoped_ptr<DnsBlackholeChecker> dns_blackhole_checker_;
336 scoped_ptr<SignalingConnector> signaling_connector_; 360 scoped_ptr<SignalingConnector> signaling_connector_;
337 scoped_ptr<DesktopEnvironment> desktop_environment_;
338 scoped_ptr<LogToServer> log_to_server_; 361 scoped_ptr<LogToServer> log_to_server_;
339 scoped_ptr<It2MeHostUserInterface> it2me_host_user_interface_; 362 scoped_ptr<It2MeHostUserInterface> it2me_host_user_interface_;
340 scoped_ptr<RegisterSupportHostRequest> register_request_; 363 scoped_ptr<RegisterSupportHostRequest> register_request_;
341 scoped_ptr<HeartbeatSender> heartbeat_sender_; 364 scoped_ptr<HeartbeatSender> heartbeat_sender_;
342 365
343 scoped_refptr<ChromotingHost> host_; 366 scoped_refptr<ChromotingHost> host_;
344 367
345 bool shutting_down_; 368 bool shutting_down_;
346 int exit_code_; 369 int exit_code_;
347 }; 370 };
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
438 max_port < 0 || max_port > 65535) { 461 max_port < 0 || max_port > 65535) {
439 LOG(ERROR) << "Invalid max-port value: " << max_port 462 LOG(ERROR) << "Invalid max-port value: " << max_port
440 << ". Expected integer in range [0, 65535]."; 463 << ". Expected integer in range [0, 65535].";
441 return 1; 464 return 1;
442 } 465 }
443 simple_host.network_settings()->max_port = max_port; 466 simple_host.network_settings()->max_port = max_port;
444 } 467 }
445 468
446 return simple_host.Run(); 469 return simple_host.Run();
447 } 470 }
OLDNEW
« no previous file with comments | « remoting/host/session_event_executor_win.cc ('k') | remoting/host/win/session_desktop_environment_factory.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698