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

Side by Side Diff: chrome/service/service_process.cc

Issue 5065001: Move creation of capturer, input stub into ChromotingHost (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 10 years, 1 month 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
« no previous file with comments | « no previous file | remoting/host/chromoting_host.h » ('j') | remoting/host/simple_host_process.cc » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 "chrome/service/service_process.h" 5 #include "chrome/service/service_process.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/basictypes.h" 9 #include "base/basictypes.h"
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 10 matching lines...) Expand all
21 #include "chrome/common/service_process_util.h" 21 #include "chrome/common/service_process_util.h"
22 #include "chrome/service/cloud_print/cloud_print_proxy.h" 22 #include "chrome/service/cloud_print/cloud_print_proxy.h"
23 #include "chrome/service/service_ipc_server.h" 23 #include "chrome/service/service_ipc_server.h"
24 #include "net/base/network_change_notifier.h" 24 #include "net/base/network_change_notifier.h"
25 25
26 #if defined(ENABLE_REMOTING) 26 #if defined(ENABLE_REMOTING)
27 #include "remoting/base/constants.h" 27 #include "remoting/base/constants.h"
28 #include "remoting/host/chromoting_host.h" 28 #include "remoting/host/chromoting_host.h"
29 #include "remoting/host/chromoting_host_context.h" 29 #include "remoting/host/chromoting_host_context.h"
30 #include "remoting/host/json_host_config.h" 30 #include "remoting/host/json_host_config.h"
31
32 #if defined(OS_WIN)
33 #include "remoting/host/capturer_gdi.h"
34 #include "remoting/host/event_executor_win.h"
35 #elif defined(OS_LINUX)
36 #include "remoting/host/capturer_linux.h"
37 #include "remoting/host/event_executor_linux.h"
38 #elif defined(OS_MACOSX)
39 #include "remoting/host/capturer_mac.h"
40 #include "remoting/host/event_executor_mac.h"
41 #endif
42 #endif // defined(ENABLED_REMOTING) 31 #endif // defined(ENABLED_REMOTING)
43 32
44 ServiceProcess* g_service_process = NULL; 33 ServiceProcess* g_service_process = NULL;
45 34
46 namespace { 35 namespace {
47 36
48 // Delay in millseconds after the last service is disabled before we attempt 37 // Delay in millseconds after the last service is disabled before we attempt
49 // a shutdown. 38 // a shutdown.
50 const int64 kShutdownDelay = 60000; 39 const int64 kShutdownDelay = 60000;
51 40
(...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after
276 if (chromoting_context_.get()) 265 if (chromoting_context_.get())
277 return true; 266 return true;
278 267
279 // Load chromoting config from the disk. 268 // Load chromoting config from the disk.
280 LoadChromotingConfig(); 269 LoadChromotingConfig();
281 270
282 // Start the chromoting context first. 271 // Start the chromoting context first.
283 chromoting_context_.reset(new remoting::ChromotingHostContext()); 272 chromoting_context_.reset(new remoting::ChromotingHostContext());
284 chromoting_context_->Start(); 273 chromoting_context_->Start();
285 274
286 // Create capturer and executor. The ownership will be transfered
287 // to the chromoting host.
288 scoped_ptr<remoting::Capturer> capturer;
289 scoped_ptr<remoting::protocol::InputStub> input_stub;
290
291 #if defined(OS_WIN)
292 capturer.reset(new remoting::CapturerGdi(
293 chromoting_context_->capture_message_loop()));
294 input_stub.reset(new remoting::EventExecutorWin(
295 chromoting_context_->capture_message_loop(), capturer.get()));
296 #elif defined(OS_LINUX)
297 capturer.reset(new remoting::CapturerLinux(
298 chromoting_context_->capture_message_loop()));
299 input_stub.reset(new remoting::EventExecutorLinux(
300 chromoting_context_->capture_message_loop(), capturer.get()));
301 #elif defined(OS_MACOSX)
302 capturer.reset(new remoting::CapturerMac(
303 chromoting_context_->capture_message_loop()));
304 input_stub.reset(new remoting::EventExecutorMac(
305 chromoting_context_->capture_message_loop(), capturer.get()));
306 #endif
307
308 // Create a chromoting host object. 275 // Create a chromoting host object.
309 chromoting_host_ = new remoting::ChromotingHost(chromoting_context_.get(), 276 chromoting_host_ = new remoting::ChromotingHost(chromoting_context_.get(),
310 chromoting_config_, 277 chromoting_config_);
311 capturer.release(),
312 input_stub.release());
313 278
314 // Then start the chromoting host. 279 // Then start the chromoting host.
315 // When ChromotingHost is shutdown because of failure or a request that 280 // When ChromotingHost is shutdown because of failure or a request that
316 // we made OnChromotingShutdown() is calls. 281 // we made OnChromotingShutdown() is calls.
317 chromoting_host_->Start( 282 chromoting_host_->Start(
318 NewRunnableMethod(this, &ServiceProcess::OnChromotingHostShutdown)); 283 NewRunnableMethod(this, &ServiceProcess::OnChromotingHostShutdown));
319 OnServiceEnabled(); 284 OnServiceEnabled();
320 return true; 285 return true;
321 } 286 }
322 287
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
423 #endif 388 #endif
424 389
425 ServiceProcess::~ServiceProcess() { 390 ServiceProcess::~ServiceProcess() {
426 Teardown(); 391 Teardown();
427 g_service_process = NULL; 392 g_service_process = NULL;
428 } 393 }
429 394
430 // Disable refcounting for runnable method because it is really not needed 395 // Disable refcounting for runnable method because it is really not needed
431 // when we post tasks on the main message loop. 396 // when we post tasks on the main message loop.
432 DISABLE_RUNNABLE_METHOD_REFCOUNT(ServiceProcess); 397 DISABLE_RUNNABLE_METHOD_REFCOUNT(ServiceProcess);
OLDNEW
« no previous file with comments | « no previous file | remoting/host/chromoting_host.h » ('j') | remoting/host/simple_host_process.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698