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/scoped_thread_desktop_win.h" | 5 #include "remoting/host/win/scoped_thread_desktop.h" |
6 | 6 |
7 #include "base/logging.h" | 7 #include "base/logging.h" |
8 | 8 |
9 #include "remoting/host/desktop_win.h" | 9 #include "remoting/host/win/desktop.h" |
10 | 10 |
11 namespace remoting { | 11 namespace remoting { |
12 | 12 |
13 ScopedThreadDesktopWin::ScopedThreadDesktopWin() | 13 ScopedThreadDesktop::ScopedThreadDesktop() |
14 : initial_(DesktopWin::GetThreadDesktop()) { | 14 : initial_(Desktop::GetThreadDesktop()) { |
15 } | 15 } |
16 | 16 |
17 ScopedThreadDesktopWin::~ScopedThreadDesktopWin() { | 17 ScopedThreadDesktop::~ScopedThreadDesktop() { |
18 Revert(); | 18 Revert(); |
19 } | 19 } |
20 | 20 |
21 bool ScopedThreadDesktopWin::IsSame(const DesktopWin& desktop) { | 21 bool ScopedThreadDesktop::IsSame(const Desktop& desktop) { |
22 if (assigned_.get() != NULL) { | 22 if (assigned_.get() != NULL) { |
23 return assigned_->IsSame(desktop); | 23 return assigned_->IsSame(desktop); |
24 } else { | 24 } else { |
25 return initial_->IsSame(desktop); | 25 return initial_->IsSame(desktop); |
26 } | 26 } |
27 } | 27 } |
28 | 28 |
29 void ScopedThreadDesktopWin::Revert() { | 29 void ScopedThreadDesktop::Revert() { |
30 if (assigned_.get() != NULL) { | 30 if (assigned_.get() != NULL) { |
31 initial_->SetThreadDesktop(); | 31 initial_->SetThreadDesktop(); |
32 assigned_.reset(); | 32 assigned_.reset(); |
33 } | 33 } |
34 } | 34 } |
35 | 35 |
36 bool ScopedThreadDesktopWin::SetThreadDesktop(scoped_ptr<DesktopWin> desktop) { | 36 bool ScopedThreadDesktop::SetThreadDesktop(scoped_ptr<Desktop> desktop) { |
37 Revert(); | 37 Revert(); |
38 | 38 |
39 if (initial_->IsSame(*desktop)) | 39 if (initial_->IsSame(*desktop)) |
40 return false; | 40 return false; |
41 | 41 |
42 if (!desktop->SetThreadDesktop()) | 42 if (!desktop->SetThreadDesktop()) |
43 return false; | 43 return false; |
44 | 44 |
45 assigned_ = desktop.Pass(); | 45 assigned_ = desktop.Pass(); |
46 return true; | 46 return true; |
47 } | 47 } |
48 | 48 |
49 } // namespace remoting | 49 } // namespace remoting |
OLD | NEW |