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

Side by Side Diff: remoting/host/win/host_service.cc

Issue 14314026: remoting: Use base::MessageLoop. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 7 years, 7 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
« no previous file with comments | « remoting/host/win/chromoting_module.cc ('k') | remoting/host/win/rdp_client.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 file implements the Windows service controlling Me2Me host processes 5 // This file implements the Windows service controlling Me2Me host processes
6 // running within user sessions. 6 // running within user sessions.
7 7
8 #include "remoting/host/win/host_service.h" 8 #include "remoting/host/win/host_service.h"
9 9
10 #include <sddl.h> 10 #include <sddl.h>
(...skipping 258 matching lines...) Expand 10 before | Expand all | Expand 10 after
269 } 269 }
270 270
271 i = next; 271 i = next;
272 } 272 }
273 } 273 }
274 274
275 void HostService::CreateLauncher( 275 void HostService::CreateLauncher(
276 scoped_refptr<AutoThreadTaskRunner> task_runner) { 276 scoped_refptr<AutoThreadTaskRunner> task_runner) {
277 // Launch the I/O thread. 277 // Launch the I/O thread.
278 scoped_refptr<AutoThreadTaskRunner> io_task_runner = 278 scoped_refptr<AutoThreadTaskRunner> io_task_runner =
279 AutoThread::CreateWithType(kIoThreadName, task_runner, 279 AutoThread::CreateWithType(
280 MessageLoop::TYPE_IO); 280 kIoThreadName, task_runner, base::MessageLoop::TYPE_IO);
281 if (!io_task_runner) { 281 if (!io_task_runner) {
282 LOG(FATAL) << "Failed to start the I/O thread"; 282 LOG(FATAL) << "Failed to start the I/O thread";
283 return; 283 return;
284 } 284 }
285 285
286 #if defined(REMOTING_MULTI_PROCESS) 286 #if defined(REMOTING_MULTI_PROCESS)
287 287
288 child_ = DaemonProcess::Create( 288 child_ = DaemonProcess::Create(
289 task_runner, 289 task_runner,
290 io_task_runner, 290 io_task_runner,
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
323 323
324 // Wait until the service thread completely exited to avoid concurrent 324 // Wait until the service thread completely exited to avoid concurrent
325 // teardown of objects registered with base::AtExitManager and object 325 // teardown of objects registered with base::AtExitManager and object
326 // destoyed by the service thread. 326 // destoyed by the service thread.
327 stopped_event_.Wait(); 327 stopped_event_.Wait();
328 328
329 return kSuccessExitCode; 329 return kSuccessExitCode;
330 } 330 }
331 331
332 void HostService::RunAsServiceImpl() { 332 void HostService::RunAsServiceImpl() {
333 MessageLoop message_loop(MessageLoop::TYPE_UI); 333 base::MessageLoop message_loop(base::MessageLoop::TYPE_UI);
334 base::RunLoop run_loop; 334 base::RunLoop run_loop;
335 main_task_runner_ = message_loop.message_loop_proxy(); 335 main_task_runner_ = message_loop.message_loop_proxy();
336 336
337 // Register the service control handler. 337 // Register the service control handler.
338 service_status_handle_ = RegisterServiceCtrlHandlerExW( 338 service_status_handle_ = RegisterServiceCtrlHandlerExW(
339 kWindowsServiceName, &HostService::ServiceControlHandler, this); 339 kWindowsServiceName, &HostService::ServiceControlHandler, this);
340 if (service_status_handle_ == 0) { 340 if (service_status_handle_ == 0) {
341 LOG_GETLASTERROR(ERROR) 341 LOG_GETLASTERROR(ERROR)
342 << "Failed to register the service control handler"; 342 << "Failed to register the service control handler";
343 return; 343 return;
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
377 service_status.dwCurrentState = SERVICE_STOPPED; 377 service_status.dwCurrentState = SERVICE_STOPPED;
378 service_status.dwControlsAccepted = 0; 378 service_status.dwControlsAccepted = 0;
379 if (!SetServiceStatus(service_status_handle_, &service_status)) { 379 if (!SetServiceStatus(service_status_handle_, &service_status)) {
380 LOG_GETLASTERROR(ERROR) 380 LOG_GETLASTERROR(ERROR)
381 << "Failed to report service status to the service control manager"; 381 << "Failed to report service status to the service control manager";
382 return; 382 return;
383 } 383 }
384 } 384 }
385 385
386 int HostService::RunInConsole() { 386 int HostService::RunInConsole() {
387 MessageLoop message_loop(MessageLoop::TYPE_UI); 387 base::MessageLoop message_loop(base::MessageLoop::TYPE_UI);
388 base::RunLoop run_loop; 388 base::RunLoop run_loop;
389 main_task_runner_ = message_loop.message_loop_proxy(); 389 main_task_runner_ = message_loop.message_loop_proxy();
390 390
391 int result = kInitializationFailed; 391 int result = kInitializationFailed;
392 392
393 // Initialize COM. 393 // Initialize COM.
394 base::win::ScopedCOMInitializer com_initializer; 394 base::win::ScopedCOMInitializer com_initializer;
395 if (!com_initializer.succeeded()) 395 if (!com_initializer.succeeded())
396 return result; 396 return result;
397 397
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
512 int DaemonProcessMain() { 512 int DaemonProcessMain() {
513 HostService* service = HostService::GetInstance(); 513 HostService* service = HostService::GetInstance();
514 if (!service->InitWithCommandLine(CommandLine::ForCurrentProcess())) { 514 if (!service->InitWithCommandLine(CommandLine::ForCurrentProcess())) {
515 return kUsageExitCode; 515 return kUsageExitCode;
516 } 516 }
517 517
518 return service->Run(); 518 return service->Run();
519 } 519 }
520 520
521 } // namespace remoting 521 } // namespace remoting
OLDNEW
« no previous file with comments | « remoting/host/win/chromoting_module.cc ('k') | remoting/host/win/rdp_client.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698