| OLD | NEW |
| 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 #include "remoting/host/desktop_session_win.h" | 5 #include "remoting/host/desktop_session_win.h" |
| 6 | 6 |
| 7 #include <limits> | 7 #include <limits> |
| 8 #include <sddl.h> | 8 #include <sddl.h> |
| 9 | 9 |
| 10 #include "base/base_switches.h" | 10 #include "base/base_switches.h" |
| (...skipping 357 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 368 scoped_ptr<DesktopSession> DesktopSessionWin::CreateForConsole( | 368 scoped_ptr<DesktopSession> DesktopSessionWin::CreateForConsole( |
| 369 scoped_refptr<AutoThreadTaskRunner> caller_task_runner, | 369 scoped_refptr<AutoThreadTaskRunner> caller_task_runner, |
| 370 scoped_refptr<AutoThreadTaskRunner> io_task_runner, | 370 scoped_refptr<AutoThreadTaskRunner> io_task_runner, |
| 371 DaemonProcess* daemon_process, | 371 DaemonProcess* daemon_process, |
| 372 int id, | 372 int id, |
| 373 const ScreenResolution& resolution) { | 373 const ScreenResolution& resolution) { |
| 374 scoped_ptr<ConsoleSession> session(new ConsoleSession( | 374 scoped_ptr<ConsoleSession> session(new ConsoleSession( |
| 375 caller_task_runner, io_task_runner, daemon_process, id, | 375 caller_task_runner, io_task_runner, daemon_process, id, |
| 376 HostService::GetInstance())); | 376 HostService::GetInstance())); |
| 377 | 377 |
| 378 return session.PassAs<DesktopSession>(); | 378 return session.Pass(); |
| 379 } | 379 } |
| 380 | 380 |
| 381 // static | 381 // static |
| 382 scoped_ptr<DesktopSession> DesktopSessionWin::CreateForVirtualTerminal( | 382 scoped_ptr<DesktopSession> DesktopSessionWin::CreateForVirtualTerminal( |
| 383 scoped_refptr<AutoThreadTaskRunner> caller_task_runner, | 383 scoped_refptr<AutoThreadTaskRunner> caller_task_runner, |
| 384 scoped_refptr<AutoThreadTaskRunner> io_task_runner, | 384 scoped_refptr<AutoThreadTaskRunner> io_task_runner, |
| 385 DaemonProcess* daemon_process, | 385 DaemonProcess* daemon_process, |
| 386 int id, | 386 int id, |
| 387 const ScreenResolution& resolution) { | 387 const ScreenResolution& resolution) { |
| 388 scoped_ptr<RdpSession> session(new RdpSession( | 388 scoped_ptr<RdpSession> session(new RdpSession( |
| 389 caller_task_runner, io_task_runner, daemon_process, id, | 389 caller_task_runner, io_task_runner, daemon_process, id, |
| 390 HostService::GetInstance())); | 390 HostService::GetInstance())); |
| 391 if (!session->Initialize(resolution)) | 391 if (!session->Initialize(resolution)) |
| 392 return scoped_ptr<DesktopSession>(); | 392 return nullptr; |
| 393 | 393 |
| 394 return session.PassAs<DesktopSession>(); | 394 return session.Pass(); |
| 395 } | 395 } |
| 396 | 396 |
| 397 DesktopSessionWin::DesktopSessionWin( | 397 DesktopSessionWin::DesktopSessionWin( |
| 398 scoped_refptr<AutoThreadTaskRunner> caller_task_runner, | 398 scoped_refptr<AutoThreadTaskRunner> caller_task_runner, |
| 399 scoped_refptr<AutoThreadTaskRunner> io_task_runner, | 399 scoped_refptr<AutoThreadTaskRunner> io_task_runner, |
| 400 DaemonProcess* daemon_process, | 400 DaemonProcess* daemon_process, |
| 401 int id, | 401 int id, |
| 402 WtsTerminalMonitor* monitor) | 402 WtsTerminalMonitor* monitor) |
| 403 : DesktopSession(daemon_process, id), | 403 : DesktopSession(daemon_process, id), |
| 404 caller_task_runner_(caller_task_runner), | 404 caller_task_runner_(caller_task_runner), |
| (...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 545 target.Pass(), | 545 target.Pass(), |
| 546 launch_elevated, | 546 launch_elevated, |
| 547 base::WideToUTF8( | 547 base::WideToUTF8( |
| 548 kDaemonIpcSecurityDescriptor))); | 548 kDaemonIpcSecurityDescriptor))); |
| 549 if (!delegate->Initialize(session_id)) { | 549 if (!delegate->Initialize(session_id)) { |
| 550 TerminateSession(); | 550 TerminateSession(); |
| 551 return; | 551 return; |
| 552 } | 552 } |
| 553 | 553 |
| 554 // Create a launcher for the desktop process, using the per-session delegate. | 554 // Create a launcher for the desktop process, using the per-session delegate. |
| 555 launcher_.reset(new WorkerProcessLauncher( | 555 launcher_.reset(new WorkerProcessLauncher(delegate.Pass(), this)); |
| 556 delegate.PassAs<WorkerProcessLauncher::Delegate>(), this)); | |
| 557 } | 556 } |
| 558 | 557 |
| 559 void DesktopSessionWin::OnSessionDetached() { | 558 void DesktopSessionWin::OnSessionDetached() { |
| 560 DCHECK(caller_task_runner_->BelongsToCurrentThread()); | 559 DCHECK(caller_task_runner_->BelongsToCurrentThread()); |
| 561 | 560 |
| 562 launcher_.reset(); | 561 launcher_.reset(); |
| 563 | 562 |
| 564 if (monitoring_notifications_) { | 563 if (monitoring_notifications_) { |
| 565 ReportElapsedTime("detached"); | 564 ReportElapsedTime("detached"); |
| 566 | 565 |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 603 exploded.hour, | 602 exploded.hour, |
| 604 exploded.minute, | 603 exploded.minute, |
| 605 exploded.second, | 604 exploded.second, |
| 606 exploded.millisecond, | 605 exploded.millisecond, |
| 607 passed.c_str()); | 606 passed.c_str()); |
| 608 | 607 |
| 609 last_timestamp_ = now; | 608 last_timestamp_ = now; |
| 610 } | 609 } |
| 611 | 610 |
| 612 } // namespace remoting | 611 } // namespace remoting |
| OLD | NEW |