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

Side by Side Diff: remoting/protocol/pairing_registry.cc

Issue 1864213002: Convert //remoting to use std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Mac IWYU Created 4 years, 8 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
« no previous file with comments | « remoting/protocol/pairing_registry.h ('k') | remoting/protocol/pairing_registry_unittest.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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/protocol/pairing_registry.h" 5 #include "remoting/protocol/pairing_registry.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <utility> 9 #include <utility>
10 10
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
72 std::string shared_secret; 72 std::string shared_secret;
73 pairing.GetString(kSharedSecretKey, &shared_secret); 73 pairing.GetString(kSharedSecretKey, &shared_secret);
74 base::Time created_time = base::Time::FromJsTime(created_time_value); 74 base::Time created_time = base::Time::FromJsTime(created_time_value);
75 return Pairing(created_time, client_name, client_id, shared_secret); 75 return Pairing(created_time, client_name, client_id, shared_secret);
76 } 76 }
77 77
78 LOG(ERROR) << "Failed to load pairing information: unexpected format."; 78 LOG(ERROR) << "Failed to load pairing information: unexpected format.";
79 return Pairing(); 79 return Pairing();
80 } 80 }
81 81
82 scoped_ptr<base::DictionaryValue> PairingRegistry::Pairing::ToValue() const { 82 std::unique_ptr<base::DictionaryValue> PairingRegistry::Pairing::ToValue()
83 scoped_ptr<base::DictionaryValue> pairing(new base::DictionaryValue()); 83 const {
84 std::unique_ptr<base::DictionaryValue> pairing(new base::DictionaryValue());
84 pairing->SetDouble(kCreatedTimeKey, created_time().ToJsTime()); 85 pairing->SetDouble(kCreatedTimeKey, created_time().ToJsTime());
85 pairing->SetString(kClientNameKey, client_name()); 86 pairing->SetString(kClientNameKey, client_name());
86 pairing->SetString(kClientIdKey, client_id()); 87 pairing->SetString(kClientIdKey, client_id());
87 if (!shared_secret().empty()) 88 if (!shared_secret().empty())
88 pairing->SetString(kSharedSecretKey, shared_secret()); 89 pairing->SetString(kSharedSecretKey, shared_secret());
89 return pairing; 90 return pairing;
90 } 91 }
91 92
92 bool PairingRegistry::Pairing::operator==(const Pairing& other) const { 93 bool PairingRegistry::Pairing::operator==(const Pairing& other) const {
93 return created_time_ == other.created_time_ && 94 return created_time_ == other.created_time_ &&
94 client_id_ == other.client_id_ && 95 client_id_ == other.client_id_ &&
95 client_name_ == other.client_name_ && 96 client_name_ == other.client_name_ &&
96 shared_secret_ == other.shared_secret_; 97 shared_secret_ == other.shared_secret_;
97 } 98 }
98 99
99 bool PairingRegistry::Pairing::is_valid() const { 100 bool PairingRegistry::Pairing::is_valid() const {
100 // |shared_secret_| is optional. It will be empty on Windows because the 101 // |shared_secret_| is optional. It will be empty on Windows because the
101 // privileged registry key can only be read in the elevated host process. 102 // privileged registry key can only be read in the elevated host process.
102 return !client_id_.empty(); 103 return !client_id_.empty();
103 } 104 }
104 105
105 PairingRegistry::PairingRegistry( 106 PairingRegistry::PairingRegistry(
106 scoped_refptr<base::SingleThreadTaskRunner> delegate_task_runner, 107 scoped_refptr<base::SingleThreadTaskRunner> delegate_task_runner,
107 scoped_ptr<Delegate> delegate) 108 std::unique_ptr<Delegate> delegate)
108 : caller_task_runner_(base::ThreadTaskRunnerHandle::Get()), 109 : caller_task_runner_(base::ThreadTaskRunnerHandle::Get()),
109 delegate_task_runner_(delegate_task_runner), 110 delegate_task_runner_(delegate_task_runner),
110 delegate_(std::move(delegate)) { 111 delegate_(std::move(delegate)) {
111 DCHECK(delegate_); 112 DCHECK(delegate_);
112 } 113 }
113 114
114 PairingRegistry::Pairing PairingRegistry::CreatePairing( 115 PairingRegistry::Pairing PairingRegistry::CreatePairing(
115 const std::string& client_name) { 116 const std::string& client_name) {
116 DCHECK(caller_task_runner_->BelongsToCurrentThread()); 117 DCHECK(caller_task_runner_->BelongsToCurrentThread());
117 118
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
187 this, DoneCallback()); 188 this, DoneCallback());
188 base::Closure request = base::Bind( 189 base::Closure request = base::Bind(
189 &PairingRegistry::DoSave, this, pairing, wrapped_callback); 190 &PairingRegistry::DoSave, this, pairing, wrapped_callback);
190 ServiceOrQueueRequest(request); 191 ServiceOrQueueRequest(request);
191 } 192 }
192 193
193 void PairingRegistry::DoLoadAll( 194 void PairingRegistry::DoLoadAll(
194 const protocol::PairingRegistry::GetAllPairingsCallback& callback) { 195 const protocol::PairingRegistry::GetAllPairingsCallback& callback) {
195 DCHECK(delegate_task_runner_->BelongsToCurrentThread()); 196 DCHECK(delegate_task_runner_->BelongsToCurrentThread());
196 197
197 scoped_ptr<base::ListValue> pairings = delegate_->LoadAll(); 198 std::unique_ptr<base::ListValue> pairings = delegate_->LoadAll();
198 PostTask(caller_task_runner_, FROM_HERE, base::Bind(callback, 199 PostTask(caller_task_runner_, FROM_HERE, base::Bind(callback,
199 base::Passed(&pairings))); 200 base::Passed(&pairings)));
200 } 201 }
201 202
202 void PairingRegistry::DoDeleteAll( 203 void PairingRegistry::DoDeleteAll(
203 const protocol::PairingRegistry::DoneCallback& callback) { 204 const protocol::PairingRegistry::DoneCallback& callback) {
204 DCHECK(delegate_task_runner_->BelongsToCurrentThread()); 205 DCHECK(delegate_task_runner_->BelongsToCurrentThread());
205 206
206 bool success = delegate_->DeleteAll(); 207 bool success = delegate_->DeleteAll();
207 PostTask(caller_task_runner_, FROM_HERE, base::Bind(callback, success)); 208 PostTask(caller_task_runner_, FROM_HERE, base::Bind(callback, success));
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
246 247
247 void PairingRegistry::InvokeGetPairingCallbackAndScheduleNext( 248 void PairingRegistry::InvokeGetPairingCallbackAndScheduleNext(
248 const GetPairingCallback& callback, Pairing pairing) { 249 const GetPairingCallback& callback, Pairing pairing) {
249 callback.Run(pairing); 250 callback.Run(pairing);
250 pending_requests_.pop(); 251 pending_requests_.pop();
251 ServiceNextRequest(); 252 ServiceNextRequest();
252 } 253 }
253 254
254 void PairingRegistry::InvokeGetAllPairingsCallbackAndScheduleNext( 255 void PairingRegistry::InvokeGetAllPairingsCallbackAndScheduleNext(
255 const GetAllPairingsCallback& callback, 256 const GetAllPairingsCallback& callback,
256 scoped_ptr<base::ListValue> pairings) { 257 std::unique_ptr<base::ListValue> pairings) {
257 callback.Run(std::move(pairings)); 258 callback.Run(std::move(pairings));
258 pending_requests_.pop(); 259 pending_requests_.pop();
259 ServiceNextRequest(); 260 ServiceNextRequest();
260 } 261 }
261 262
262 void PairingRegistry::SanitizePairings(const GetAllPairingsCallback& callback, 263 void PairingRegistry::SanitizePairings(
263 scoped_ptr<base::ListValue> pairings) { 264 const GetAllPairingsCallback& callback,
265 std::unique_ptr<base::ListValue> pairings) {
264 DCHECK(caller_task_runner_->BelongsToCurrentThread()); 266 DCHECK(caller_task_runner_->BelongsToCurrentThread());
265 267
266 scoped_ptr<base::ListValue> sanitized_pairings(new base::ListValue()); 268 std::unique_ptr<base::ListValue> sanitized_pairings(new base::ListValue());
267 for (size_t i = 0; i < pairings->GetSize(); ++i) { 269 for (size_t i = 0; i < pairings->GetSize(); ++i) {
268 base::DictionaryValue* pairing_json; 270 base::DictionaryValue* pairing_json;
269 if (!pairings->GetDictionary(i, &pairing_json)) { 271 if (!pairings->GetDictionary(i, &pairing_json)) {
270 LOG(WARNING) << "A pairing entry is not a dictionary."; 272 LOG(WARNING) << "A pairing entry is not a dictionary.";
271 continue; 273 continue;
272 } 274 }
273 275
274 // Parse the pairing data. 276 // Parse the pairing data.
275 Pairing pairing = Pairing::CreateFromValue(*pairing_json); 277 Pairing pairing = Pairing::CreateFromValue(*pairing_json);
276 if (!pairing.is_valid()) { 278 if (!pairing.is_valid()) {
(...skipping 23 matching lines...) Expand all
300 302
301 void PairingRegistry::ServiceNextRequest() { 303 void PairingRegistry::ServiceNextRequest() {
302 if (pending_requests_.empty()) 304 if (pending_requests_.empty())
303 return; 305 return;
304 306
305 PostTask(delegate_task_runner_, FROM_HERE, pending_requests_.front()); 307 PostTask(delegate_task_runner_, FROM_HERE, pending_requests_.front());
306 } 308 }
307 309
308 } // namespace protocol 310 } // namespace protocol
309 } // namespace remoting 311 } // namespace remoting
OLDNEW
« no previous file with comments | « remoting/protocol/pairing_registry.h ('k') | remoting/protocol/pairing_registry_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698