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

Side by Side Diff: mojo/edk/system/platform_handle_dispatcher.cc

Issue 1529303004: Convert Pass()→std::move() in mojo/edk/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "mojo/edk/system/platform_handle_dispatcher.h" 5 #include "mojo/edk/system/platform_handle_dispatcher.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <utility>
8 9
9 #include "base/logging.h" 10 #include "base/logging.h"
10 11
11 namespace mojo { 12 namespace mojo {
12 namespace edk { 13 namespace edk {
13 14
14 namespace { 15 namespace {
15 16
16 const size_t kInvalidPlatformHandleIndex = static_cast<size_t>(-1); 17 const size_t kInvalidPlatformHandleIndex = static_cast<size_t>(-1);
17 18
18 struct MOJO_ALIGNAS(8) SerializedPlatformHandleDispatcher { 19 struct MOJO_ALIGNAS(8) SerializedPlatformHandleDispatcher {
19 size_t platform_handle_index; // (Or |kInvalidPlatformHandleIndex|.) 20 size_t platform_handle_index; // (Or |kInvalidPlatformHandleIndex|.)
20 }; 21 };
21 22
22 } // namespace 23 } // namespace
23 24
24 ScopedPlatformHandle PlatformHandleDispatcher::PassPlatformHandle() { 25 ScopedPlatformHandle PlatformHandleDispatcher::PassPlatformHandle() {
25 base::AutoLock locker(lock()); 26 base::AutoLock locker(lock());
26 return platform_handle_.Pass(); 27 return std::move(platform_handle_);
27 } 28 }
28 29
29 Dispatcher::Type PlatformHandleDispatcher::GetType() const { 30 Dispatcher::Type PlatformHandleDispatcher::GetType() const {
30 return Type::PLATFORM_HANDLE; 31 return Type::PLATFORM_HANDLE;
31 } 32 }
32 33
33 // static 34 // static
34 scoped_refptr<PlatformHandleDispatcher> PlatformHandleDispatcher::Deserialize( 35 scoped_refptr<PlatformHandleDispatcher> PlatformHandleDispatcher::Deserialize(
35 const void* source, 36 const void* source,
36 size_t size, 37 size_t size,
(...skipping 21 matching lines...) Expand all
58 // We take ownership of the handle, so we have to invalidate the one in 59 // We take ownership of the handle, so we have to invalidate the one in
59 // |platform_handles|. 60 // |platform_handles|.
60 std::swap(platform_handle, (*platform_handles)[platform_handle_index]); 61 std::swap(platform_handle, (*platform_handles)[platform_handle_index]);
61 } 62 }
62 63
63 return Create(ScopedPlatformHandle(platform_handle)); 64 return Create(ScopedPlatformHandle(platform_handle));
64 } 65 }
65 66
66 PlatformHandleDispatcher::PlatformHandleDispatcher( 67 PlatformHandleDispatcher::PlatformHandleDispatcher(
67 ScopedPlatformHandle platform_handle) 68 ScopedPlatformHandle platform_handle)
68 : platform_handle_(platform_handle.Pass()) { 69 : platform_handle_(std::move(platform_handle)) {}
69 }
70 70
71 PlatformHandleDispatcher::~PlatformHandleDispatcher() { 71 PlatformHandleDispatcher::~PlatformHandleDispatcher() {
72 } 72 }
73 73
74 void PlatformHandleDispatcher::CloseImplNoLock() { 74 void PlatformHandleDispatcher::CloseImplNoLock() {
75 lock().AssertAcquired(); 75 lock().AssertAcquired();
76 platform_handle_.reset(); 76 platform_handle_.reset();
77 } 77 }
78 78
79 scoped_refptr<Dispatcher> 79 scoped_refptr<Dispatcher>
80 PlatformHandleDispatcher::CreateEquivalentDispatcherAndCloseImplNoLock() { 80 PlatformHandleDispatcher::CreateEquivalentDispatcherAndCloseImplNoLock() {
81 lock().AssertAcquired(); 81 lock().AssertAcquired();
82 return Create(platform_handle_.Pass()); 82 return Create(std::move(platform_handle_));
83 } 83 }
84 84
85 void PlatformHandleDispatcher::StartSerializeImplNoLock( 85 void PlatformHandleDispatcher::StartSerializeImplNoLock(
86 size_t* max_size, 86 size_t* max_size,
87 size_t* max_platform_handles) { 87 size_t* max_platform_handles) {
88 *max_size = sizeof(SerializedPlatformHandleDispatcher); 88 *max_size = sizeof(SerializedPlatformHandleDispatcher);
89 *max_platform_handles = 1; 89 *max_platform_handles = 1;
90 } 90 }
91 91
92 bool PlatformHandleDispatcher::EndSerializeAndCloseImplNoLock( 92 bool PlatformHandleDispatcher::EndSerializeAndCloseImplNoLock(
93 void* destination, 93 void* destination,
94 size_t* actual_size, 94 size_t* actual_size,
95 PlatformHandleVector* platform_handles) { 95 PlatformHandleVector* platform_handles) {
96 SerializedPlatformHandleDispatcher* serialization = 96 SerializedPlatformHandleDispatcher* serialization =
97 static_cast<SerializedPlatformHandleDispatcher*>(destination); 97 static_cast<SerializedPlatformHandleDispatcher*>(destination);
98 if (platform_handle_.is_valid()) { 98 if (platform_handle_.is_valid()) {
99 serialization->platform_handle_index = platform_handles->size(); 99 serialization->platform_handle_index = platform_handles->size();
100 platform_handles->push_back(platform_handle_.release()); 100 platform_handles->push_back(platform_handle_.release());
101 } else { 101 } else {
102 serialization->platform_handle_index = kInvalidPlatformHandleIndex; 102 serialization->platform_handle_index = kInvalidPlatformHandleIndex;
103 } 103 }
104 104
105 *actual_size = sizeof(SerializedPlatformHandleDispatcher); 105 *actual_size = sizeof(SerializedPlatformHandleDispatcher);
106 return true; 106 return true;
107 } 107 }
108 108
109 } // namespace edk 109 } // namespace edk
110 } // namespace mojo 110 } // namespace mojo
OLDNEW
« no previous file with comments | « mojo/edk/system/platform_handle_dispatcher.h ('k') | mojo/edk/system/platform_handle_dispatcher_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698