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

Side by Side Diff: chromeos/dbus/cryptohome_client.cc

Issue 10024054: chromeos: Convert D-Bus client classes' callback arguments to const reference (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 8 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 | Annotate | Revision Log
« no previous file with comments | « chromeos/dbus/cryptohome_client.h ('k') | chromeos/dbus/flimflam_client_unittest_base.h » ('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 #include "chromeos/dbus/cryptohome_client.h" 5 #include "chromeos/dbus/cryptohome_client.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/message_loop.h" 8 #include "base/message_loop.h"
9 #include "chromeos/dbus/blocking_method_caller.h" 9 #include "chromeos/dbus/blocking_method_caller.h"
10 #include "dbus/bus.h" 10 #include "dbus/bus.h"
(...skipping 24 matching lines...) Expand all
35 proxy_->ConnectToSignal( 35 proxy_->ConnectToSignal(
36 cryptohome::kCryptohomeInterface, 36 cryptohome::kCryptohomeInterface,
37 cryptohome::kSignalAsyncCallStatus, 37 cryptohome::kSignalAsyncCallStatus,
38 base::Bind(&CryptohomeClientImpl::OnAsyncCallStatus, 38 base::Bind(&CryptohomeClientImpl::OnAsyncCallStatus,
39 weak_ptr_factory_.GetWeakPtr()), 39 weak_ptr_factory_.GetWeakPtr()),
40 base::Bind(&CryptohomeClientImpl::OnSignalConnected, 40 base::Bind(&CryptohomeClientImpl::OnSignalConnected,
41 weak_ptr_factory_.GetWeakPtr())); 41 weak_ptr_factory_.GetWeakPtr()));
42 } 42 }
43 43
44 // CryptohomeClient override. 44 // CryptohomeClient override.
45 virtual void SetAsyncCallStatusHandler(AsyncCallStatusHandler handler) 45 virtual void SetAsyncCallStatusHandler(const AsyncCallStatusHandler& handler)
46 OVERRIDE { 46 OVERRIDE {
47 async_call_status_handler_ = handler; 47 async_call_status_handler_ = handler;
48 } 48 }
49 49
50 // CryptohomeClient override. 50 // CryptohomeClient override.
51 virtual void ResetAsyncCallStatusHandler() OVERRIDE { 51 virtual void ResetAsyncCallStatusHandler() OVERRIDE {
52 async_call_status_handler_.Reset(); 52 async_call_status_handler_.Reset();
53 } 53 }
54 54
55 // CryptohomeClient override. 55 // CryptohomeClient override.
56 virtual bool IsMounted(bool* is_mounted) OVERRIDE { 56 virtual bool IsMounted(bool* is_mounted) OVERRIDE {
57 INITIALIZE_METHOD_CALL(method_call, cryptohome::kCryptohomeIsMounted); 57 INITIALIZE_METHOD_CALL(method_call, cryptohome::kCryptohomeIsMounted);
58 return CallBoolMethodAndBlock(&method_call, is_mounted); 58 return CallBoolMethodAndBlock(&method_call, is_mounted);
59 } 59 }
60 60
61 // CryptohomeClient override. 61 // CryptohomeClient override.
62 virtual bool Unmount(bool *success) OVERRIDE { 62 virtual bool Unmount(bool *success) OVERRIDE {
63 INITIALIZE_METHOD_CALL(method_call, cryptohome::kCryptohomeUnmount); 63 INITIALIZE_METHOD_CALL(method_call, cryptohome::kCryptohomeUnmount);
64 return CallBoolMethodAndBlock(&method_call, success); 64 return CallBoolMethodAndBlock(&method_call, success);
65 } 65 }
66 66
67 // CryptohomeClient override. 67 // CryptohomeClient override.
68 virtual void AsyncCheckKey(const std::string& username, 68 virtual void AsyncCheckKey(const std::string& username,
69 const std::string& key, 69 const std::string& key,
70 AsyncMethodCallback callback) OVERRIDE { 70 const AsyncMethodCallback& callback) OVERRIDE {
71 INITIALIZE_METHOD_CALL(method_call, cryptohome::kCryptohomeAsyncCheckKey); 71 INITIALIZE_METHOD_CALL(method_call, cryptohome::kCryptohomeAsyncCheckKey);
72 dbus::MessageWriter writer(&method_call); 72 dbus::MessageWriter writer(&method_call);
73 writer.AppendString(username); 73 writer.AppendString(username);
74 writer.AppendString(key); 74 writer.AppendString(key);
75 proxy_->CallMethod(&method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, 75 proxy_->CallMethod(&method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT,
76 base::Bind(&CryptohomeClientImpl::OnAsyncMethodCall, 76 base::Bind(&CryptohomeClientImpl::OnAsyncMethodCall,
77 weak_ptr_factory_.GetWeakPtr(), 77 weak_ptr_factory_.GetWeakPtr(),
78 callback)); 78 callback));
79 } 79 }
80 80
81 // CryptohomeClient override. 81 // CryptohomeClient override.
82 virtual void AsyncMigrateKey(const std::string& username, 82 virtual void AsyncMigrateKey(const std::string& username,
83 const std::string& from_key, 83 const std::string& from_key,
84 const std::string& to_key, 84 const std::string& to_key,
85 AsyncMethodCallback callback) OVERRIDE { 85 const AsyncMethodCallback& callback) OVERRIDE {
86 INITIALIZE_METHOD_CALL(method_call, cryptohome::kCryptohomeAsyncMigrateKey); 86 INITIALIZE_METHOD_CALL(method_call, cryptohome::kCryptohomeAsyncMigrateKey);
87 dbus::MessageWriter writer(&method_call); 87 dbus::MessageWriter writer(&method_call);
88 writer.AppendString(username); 88 writer.AppendString(username);
89 writer.AppendString(from_key); 89 writer.AppendString(from_key);
90 writer.AppendString(to_key); 90 writer.AppendString(to_key);
91 proxy_->CallMethod(&method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, 91 proxy_->CallMethod(&method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT,
92 base::Bind(&CryptohomeClientImpl::OnAsyncMethodCall, 92 base::Bind(&CryptohomeClientImpl::OnAsyncMethodCall,
93 weak_ptr_factory_.GetWeakPtr(), 93 weak_ptr_factory_.GetWeakPtr(),
94 callback)); 94 callback));
95 } 95 }
96 96
97 // CryptohomeClient override. 97 // CryptohomeClient override.
98 virtual void AsyncRemove(const std::string& username, 98 virtual void AsyncRemove(const std::string& username,
99 AsyncMethodCallback callback) OVERRIDE { 99 const AsyncMethodCallback& callback) OVERRIDE {
100 INITIALIZE_METHOD_CALL(method_call, cryptohome::kCryptohomeAsyncRemove); 100 INITIALIZE_METHOD_CALL(method_call, cryptohome::kCryptohomeAsyncRemove);
101 dbus::MessageWriter writer(&method_call); 101 dbus::MessageWriter writer(&method_call);
102 writer.AppendString(username); 102 writer.AppendString(username);
103 proxy_->CallMethod(&method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, 103 proxy_->CallMethod(&method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT,
104 base::Bind(&CryptohomeClientImpl::OnAsyncMethodCall, 104 base::Bind(&CryptohomeClientImpl::OnAsyncMethodCall,
105 weak_ptr_factory_.GetWeakPtr(), 105 weak_ptr_factory_.GetWeakPtr(),
106 callback)); 106 callback));
107 } 107 }
108 108
109 // CryptohomeClient override. 109 // CryptohomeClient override.
110 virtual bool GetSystemSalt(std::vector<uint8>* salt) OVERRIDE { 110 virtual bool GetSystemSalt(std::vector<uint8>* salt) OVERRIDE {
111 INITIALIZE_METHOD_CALL(method_call, cryptohome::kCryptohomeGetSystemSalt); 111 INITIALIZE_METHOD_CALL(method_call, cryptohome::kCryptohomeGetSystemSalt);
112 scoped_ptr<dbus::Response> response( 112 scoped_ptr<dbus::Response> response(
113 blocking_method_caller_.CallMethodAndBlock(&method_call)); 113 blocking_method_caller_.CallMethodAndBlock(&method_call));
114 if (!response.get()) 114 if (!response.get())
115 return false; 115 return false;
116 dbus::MessageReader reader(response.get()); 116 dbus::MessageReader reader(response.get());
117 uint8* bytes = NULL; 117 uint8* bytes = NULL;
118 size_t length = 0; 118 size_t length = 0;
119 if (!reader.PopArrayOfBytes(&bytes, &length)) 119 if (!reader.PopArrayOfBytes(&bytes, &length))
120 return false; 120 return false;
121 salt->assign(bytes, bytes + length); 121 salt->assign(bytes, bytes + length);
122 return true; 122 return true;
123 } 123 }
124 124
125 // CryptohomeClient override. 125 // CryptohomeClient override.
126 virtual void AsyncMount(const std::string& username, 126 virtual void AsyncMount(const std::string& username,
127 const std::string& key, 127 const std::string& key,
128 const bool create_if_missing, 128 const bool create_if_missing,
129 AsyncMethodCallback callback) OVERRIDE { 129 const AsyncMethodCallback& callback) OVERRIDE {
130 INITIALIZE_METHOD_CALL(method_call, cryptohome::kCryptohomeAsyncMount); 130 INITIALIZE_METHOD_CALL(method_call, cryptohome::kCryptohomeAsyncMount);
131 dbus::MessageWriter writer(&method_call); 131 dbus::MessageWriter writer(&method_call);
132 writer.AppendString(username); 132 writer.AppendString(username);
133 writer.AppendString(key); 133 writer.AppendString(key);
134 writer.AppendBool(create_if_missing); 134 writer.AppendBool(create_if_missing);
135 writer.AppendBool(false); // deprecated_replace_tracked_subdirectories 135 writer.AppendBool(false); // deprecated_replace_tracked_subdirectories
136 // deprecated_tracked_subdirectories 136 // deprecated_tracked_subdirectories
137 writer.AppendArrayOfStrings(std::vector<std::string>()); 137 writer.AppendArrayOfStrings(std::vector<std::string>());
138 proxy_->CallMethod(&method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, 138 proxy_->CallMethod(&method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT,
139 base::Bind(&CryptohomeClientImpl::OnAsyncMethodCall, 139 base::Bind(&CryptohomeClientImpl::OnAsyncMethodCall,
140 weak_ptr_factory_.GetWeakPtr(), 140 weak_ptr_factory_.GetWeakPtr(),
141 callback)); 141 callback));
142 } 142 }
143 143
144 // CryptohomeClient override. 144 // CryptohomeClient override.
145 virtual void AsyncMountGuest(AsyncMethodCallback callback) OVERRIDE { 145 virtual void AsyncMountGuest(const AsyncMethodCallback& callback) OVERRIDE {
146 INITIALIZE_METHOD_CALL(method_call, cryptohome::kCryptohomeAsyncMountGuest); 146 INITIALIZE_METHOD_CALL(method_call, cryptohome::kCryptohomeAsyncMountGuest);
147 proxy_->CallMethod(&method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, 147 proxy_->CallMethod(&method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT,
148 base::Bind(&CryptohomeClientImpl::OnAsyncMethodCall, 148 base::Bind(&CryptohomeClientImpl::OnAsyncMethodCall,
149 weak_ptr_factory_.GetWeakPtr(), 149 weak_ptr_factory_.GetWeakPtr(),
150 callback)); 150 callback));
151 } 151 }
152 152
153 // CryptohomeClient override. 153 // CryptohomeClient override.
154 virtual bool TpmIsReady(bool* ready) OVERRIDE { 154 virtual bool TpmIsReady(bool* ready) OVERRIDE {
155 INITIALIZE_METHOD_CALL(method_call, cryptohome::kCryptohomeTpmIsReady); 155 INITIALIZE_METHOD_CALL(method_call, cryptohome::kCryptohomeTpmIsReady);
156 return CallBoolMethodAndBlock(&method_call, ready); 156 return CallBoolMethodAndBlock(&method_call, ready);
157 } 157 }
158 158
159 // CryptohomeClient override. 159 // CryptohomeClient override.
160 virtual void TpmIsEnabled(BoolMethodCallback callback) OVERRIDE { 160 virtual void TpmIsEnabled(const BoolMethodCallback& callback) OVERRIDE {
161 INITIALIZE_METHOD_CALL(method_call, cryptohome::kCryptohomeTpmIsEnabled); 161 INITIALIZE_METHOD_CALL(method_call, cryptohome::kCryptohomeTpmIsEnabled);
162 proxy_->CallMethod( 162 proxy_->CallMethod(
163 &method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, 163 &method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT,
164 base::Bind( 164 base::Bind(
165 &CryptohomeClientImpl::OnBoolMethod, 165 &CryptohomeClientImpl::OnBoolMethod,
166 weak_ptr_factory_.GetWeakPtr(), 166 weak_ptr_factory_.GetWeakPtr(),
167 callback)); 167 callback));
168 } 168 }
169 169
170 // CryptohomeClient override. 170 // CryptohomeClient override.
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
212 // CryptohomeClient override. 212 // CryptohomeClient override.
213 virtual bool TpmClearStoredPassword() OVERRIDE { 213 virtual bool TpmClearStoredPassword() OVERRIDE {
214 INITIALIZE_METHOD_CALL(method_call, 214 INITIALIZE_METHOD_CALL(method_call,
215 cryptohome::kCryptohomeTpmClearStoredPassword); 215 cryptohome::kCryptohomeTpmClearStoredPassword);
216 scoped_ptr<dbus::Response> response( 216 scoped_ptr<dbus::Response> response(
217 blocking_method_caller_.CallMethodAndBlock(&method_call)); 217 blocking_method_caller_.CallMethodAndBlock(&method_call));
218 return response.get() != NULL; 218 return response.get() != NULL;
219 } 219 }
220 220
221 // CryptohomeClient override. 221 // CryptohomeClient override.
222 virtual void Pkcs11IsTpmTokenReady(BoolMethodCallback callback) 222 virtual void Pkcs11IsTpmTokenReady(const BoolMethodCallback& callback)
223 OVERRIDE { 223 OVERRIDE {
224 INITIALIZE_METHOD_CALL(method_call, 224 INITIALIZE_METHOD_CALL(method_call,
225 cryptohome::kCryptohomePkcs11IsTpmTokenReady); 225 cryptohome::kCryptohomePkcs11IsTpmTokenReady);
226 proxy_->CallMethod( 226 proxy_->CallMethod(
227 &method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, 227 &method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT,
228 base::Bind( 228 base::Bind(
229 &CryptohomeClientImpl::OnBoolMethod, 229 &CryptohomeClientImpl::OnBoolMethod,
230 weak_ptr_factory_.GetWeakPtr(), 230 weak_ptr_factory_.GetWeakPtr(),
231 callback)); 231 callback));
232 } 232 }
233 233
234 // CryptohomeClient override. 234 // CryptohomeClient override.
235 virtual void Pkcs11GetTpmTokenInfo(Pkcs11GetTpmTokenInfoCallback callback) 235 virtual void Pkcs11GetTpmTokenInfo(
236 OVERRIDE { 236 const Pkcs11GetTpmTokenInfoCallback& callback) OVERRIDE {
237 INITIALIZE_METHOD_CALL(method_call, 237 INITIALIZE_METHOD_CALL(method_call,
238 cryptohome::kCryptohomePkcs11GetTpmTokenInfo); 238 cryptohome::kCryptohomePkcs11GetTpmTokenInfo);
239 proxy_->CallMethod( 239 proxy_->CallMethod(
240 &method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, 240 &method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT,
241 base::Bind( 241 base::Bind(
242 &CryptohomeClientImpl::OnPkcs11GetTpmTokenInfo, 242 &CryptohomeClientImpl::OnPkcs11GetTpmTokenInfo,
243 weak_ptr_factory_.GetWeakPtr(), 243 weak_ptr_factory_.GetWeakPtr(),
244 callback)); 244 callback));
245 } 245 }
246 246
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
302 // CryptohomeClient override. 302 // CryptohomeClient override.
303 virtual bool InstallAttributesIsFirstInstall(bool* is_first_install) OVERRIDE 303 virtual bool InstallAttributesIsFirstInstall(bool* is_first_install) OVERRIDE
304 { 304 {
305 INITIALIZE_METHOD_CALL( 305 INITIALIZE_METHOD_CALL(
306 method_call, cryptohome::kCryptohomeInstallAttributesIsFirstInstall); 306 method_call, cryptohome::kCryptohomeInstallAttributesIsFirstInstall);
307 return CallBoolMethodAndBlock(&method_call, is_first_install); 307 return CallBoolMethodAndBlock(&method_call, is_first_install);
308 } 308 }
309 309
310 private: 310 private:
311 // Handles the result of AsyncXXX methods. 311 // Handles the result of AsyncXXX methods.
312 void OnAsyncMethodCall(AsyncMethodCallback callback, 312 void OnAsyncMethodCall(const AsyncMethodCallback& callback,
313 dbus::Response* response) { 313 dbus::Response* response) {
314 if (!response) 314 if (!response)
315 return; 315 return;
316 dbus::MessageReader reader(response); 316 dbus::MessageReader reader(response);
317 int async_id = 0; 317 int async_id = 0;
318 if (!reader.PopInt32(&async_id)) { 318 if (!reader.PopInt32(&async_id)) {
319 LOG(ERROR) << "Invalid response: " << response->ToString(); 319 LOG(ERROR) << "Invalid response: " << response->ToString();
320 return; 320 return;
321 } 321 }
322 callback.Run(async_id); 322 callback.Run(async_id);
323 } 323 }
324 324
325 // Calls a method with a bool value reult and block. 325 // Calls a method with a bool value reult and block.
326 bool CallBoolMethodAndBlock(dbus::MethodCall* method_call, 326 bool CallBoolMethodAndBlock(dbus::MethodCall* method_call,
327 bool* result) { 327 bool* result) {
328 scoped_ptr<dbus::Response> response( 328 scoped_ptr<dbus::Response> response(
329 blocking_method_caller_.CallMethodAndBlock(method_call)); 329 blocking_method_caller_.CallMethodAndBlock(method_call));
330 if (!response.get()) 330 if (!response.get())
331 return false; 331 return false;
332 dbus::MessageReader reader(response.get()); 332 dbus::MessageReader reader(response.get());
333 return reader.PopBool(result); 333 return reader.PopBool(result);
334 } 334 }
335 335
336 // Handles responses for methods with a bool value result. 336 // Handles responses for methods with a bool value result.
337 void OnBoolMethod(BoolMethodCallback callback, 337 void OnBoolMethod(const BoolMethodCallback& callback,
338 dbus::Response* response) { 338 dbus::Response* response) {
339 if (!response) { 339 if (!response) {
340 callback.Run(DBUS_METHOD_CALL_FAILURE, false); 340 callback.Run(DBUS_METHOD_CALL_FAILURE, false);
341 return; 341 return;
342 } 342 }
343 dbus::MessageReader reader(response); 343 dbus::MessageReader reader(response);
344 bool result = false; 344 bool result = false;
345 if (!reader.PopBool(&result)) { 345 if (!reader.PopBool(&result)) {
346 callback.Run(DBUS_METHOD_CALL_FAILURE, false); 346 callback.Run(DBUS_METHOD_CALL_FAILURE, false);
347 return; 347 return;
348 } 348 }
349 callback.Run(DBUS_METHOD_CALL_SUCCESS, result); 349 callback.Run(DBUS_METHOD_CALL_SUCCESS, result);
350 } 350 }
351 351
352 // Handles responses for Pkcs11GetTpmtTokenInfo. 352 // Handles responses for Pkcs11GetTpmtTokenInfo.
353 void OnPkcs11GetTpmTokenInfo(Pkcs11GetTpmTokenInfoCallback callback, 353 void OnPkcs11GetTpmTokenInfo(const Pkcs11GetTpmTokenInfoCallback& callback,
354 dbus::Response* response) { 354 dbus::Response* response) {
355 if (!response) { 355 if (!response) {
356 callback.Run(DBUS_METHOD_CALL_FAILURE, std::string(), std::string()); 356 callback.Run(DBUS_METHOD_CALL_FAILURE, std::string(), std::string());
357 return; 357 return;
358 } 358 }
359 dbus::MessageReader reader(response); 359 dbus::MessageReader reader(response);
360 std::string label; 360 std::string label;
361 std::string user_pin; 361 std::string user_pin;
362 if (!reader.PopString(&label) || !reader.PopString(&user_pin)) { 362 if (!reader.PopString(&label) || !reader.PopString(&user_pin)) {
363 callback.Run(DBUS_METHOD_CALL_FAILURE, std::string(), std::string()); 363 callback.Run(DBUS_METHOD_CALL_FAILURE, std::string(), std::string());
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
404 CryptohomeClientStubImpl() 404 CryptohomeClientStubImpl()
405 : weak_ptr_factory_(this), 405 : weak_ptr_factory_(this),
406 async_call_id_(1), 406 async_call_id_(1),
407 tpm_is_ready_counter_(0), 407 tpm_is_ready_counter_(0),
408 locked_(false) { 408 locked_(false) {
409 } 409 }
410 410
411 virtual ~CryptohomeClientStubImpl() {} 411 virtual ~CryptohomeClientStubImpl() {}
412 412
413 // CryptohomeClient override. 413 // CryptohomeClient override.
414 virtual void SetAsyncCallStatusHandler(AsyncCallStatusHandler handler) 414 virtual void SetAsyncCallStatusHandler(const AsyncCallStatusHandler& handler)
415 OVERRIDE { 415 OVERRIDE {
416 async_call_status_handler_ = handler; 416 async_call_status_handler_ = handler;
417 } 417 }
418 418
419 // CryptohomeClient override. 419 // CryptohomeClient override.
420 virtual void ResetAsyncCallStatusHandler() OVERRIDE { 420 virtual void ResetAsyncCallStatusHandler() OVERRIDE {
421 async_call_status_handler_.Reset(); 421 async_call_status_handler_.Reset();
422 } 422 }
423 423
424 // CryptohomeClient override. 424 // CryptohomeClient override.
425 virtual bool IsMounted(bool* is_mounted) OVERRIDE { 425 virtual bool IsMounted(bool* is_mounted) OVERRIDE {
426 *is_mounted = true; 426 *is_mounted = true;
427 return true; 427 return true;
428 } 428 }
429 429
430 // CryptohomeClient override. 430 // CryptohomeClient override.
431 virtual bool Unmount(bool* success) OVERRIDE { 431 virtual bool Unmount(bool* success) OVERRIDE {
432 *success = true; 432 *success = true;
433 return true; 433 return true;
434 } 434 }
435 435
436 // CryptohomeClient override. 436 // CryptohomeClient override.
437 virtual void AsyncCheckKey(const std::string& username, 437 virtual void AsyncCheckKey(const std::string& username,
438 const std::string& key, 438 const std::string& key,
439 AsyncMethodCallback callback) OVERRIDE { 439 const AsyncMethodCallback& callback) OVERRIDE {
440 ReturnAsyncMethodResult(callback); 440 ReturnAsyncMethodResult(callback);
441 } 441 }
442 442
443 // CryptohomeClient override. 443 // CryptohomeClient override.
444 virtual void AsyncMigrateKey(const std::string& username, 444 virtual void AsyncMigrateKey(const std::string& username,
445 const std::string& from_key, 445 const std::string& from_key,
446 const std::string& to_key, 446 const std::string& to_key,
447 AsyncMethodCallback callback) OVERRIDE { 447 const AsyncMethodCallback& callback) OVERRIDE {
448 ReturnAsyncMethodResult(callback); 448 ReturnAsyncMethodResult(callback);
449 } 449 }
450 450
451 // CryptohomeClient override. 451 // CryptohomeClient override.
452 virtual void AsyncRemove(const std::string& username, 452 virtual void AsyncRemove(const std::string& username,
453 AsyncMethodCallback callback) OVERRIDE { 453 const AsyncMethodCallback& callback) OVERRIDE {
454 ReturnAsyncMethodResult(callback); 454 ReturnAsyncMethodResult(callback);
455 } 455 }
456 456
457 // CryptohomeClient override. 457 // CryptohomeClient override.
458 virtual bool GetSystemSalt(std::vector<uint8>* salt) OVERRIDE { 458 virtual bool GetSystemSalt(std::vector<uint8>* salt) OVERRIDE {
459 const char kStubSystemSalt[] = "stub_system_salt"; 459 const char kStubSystemSalt[] = "stub_system_salt";
460 salt->assign(kStubSystemSalt, 460 salt->assign(kStubSystemSalt,
461 kStubSystemSalt + arraysize(kStubSystemSalt)); 461 kStubSystemSalt + arraysize(kStubSystemSalt));
462 return true; 462 return true;
463 } 463 }
464 464
465 // CryptohomeClient override. 465 // CryptohomeClient override.
466 virtual void AsyncMount(const std::string& username, 466 virtual void AsyncMount(const std::string& username,
467 const std::string& key, 467 const std::string& key,
468 const bool create_if_missing, 468 const bool create_if_missing,
469 AsyncMethodCallback callback) OVERRIDE { 469 const AsyncMethodCallback& callback) OVERRIDE {
470 ReturnAsyncMethodResult(callback); 470 ReturnAsyncMethodResult(callback);
471 } 471 }
472 472
473 // CryptohomeClient override. 473 // CryptohomeClient override.
474 virtual void AsyncMountGuest(AsyncMethodCallback callback) OVERRIDE { 474 virtual void AsyncMountGuest(const AsyncMethodCallback& callback) OVERRIDE {
475 ReturnAsyncMethodResult(callback); 475 ReturnAsyncMethodResult(callback);
476 } 476 }
477 477
478 // CryptohomeClient override. 478 // CryptohomeClient override.
479 virtual bool TpmIsReady(bool* ready) OVERRIDE { 479 virtual bool TpmIsReady(bool* ready) OVERRIDE {
480 *ready = (tpm_is_ready_counter_++ > 20); 480 *ready = (tpm_is_ready_counter_++ > 20);
481 return true; 481 return true;
482 } 482 }
483 483
484 // CryptohomeClient override. 484 // CryptohomeClient override.
485 virtual void TpmIsEnabled(BoolMethodCallback callback) OVERRIDE { 485 virtual void TpmIsEnabled(const BoolMethodCallback& callback) OVERRIDE {
486 MessageLoop::current()->PostTask( 486 MessageLoop::current()->PostTask(
487 FROM_HERE, base::Bind(callback, DBUS_METHOD_CALL_SUCCESS, true)); 487 FROM_HERE, base::Bind(callback, DBUS_METHOD_CALL_SUCCESS, true));
488 } 488 }
489 489
490 // CryptohomeClient override. 490 // CryptohomeClient override.
491 virtual bool CallTpmIsEnabledAndBlock(bool* enabled) OVERRIDE { 491 virtual bool CallTpmIsEnabledAndBlock(bool* enabled) OVERRIDE {
492 *enabled = true; 492 *enabled = true;
493 return true; 493 return true;
494 } 494 }
495 495
(...skipping 16 matching lines...) Expand all
512 return true; 512 return true;
513 } 513 }
514 514
515 // CryptohomeClient override. 515 // CryptohomeClient override.
516 virtual bool TpmCanAttemptOwnership() OVERRIDE { return true; } 516 virtual bool TpmCanAttemptOwnership() OVERRIDE { return true; }
517 517
518 // CryptohomeClient override. 518 // CryptohomeClient override.
519 virtual bool TpmClearStoredPassword() OVERRIDE { return true; } 519 virtual bool TpmClearStoredPassword() OVERRIDE { return true; }
520 520
521 // CryptohomeClient override. 521 // CryptohomeClient override.
522 virtual void Pkcs11IsTpmTokenReady(BoolMethodCallback callback) OVERRIDE { 522 virtual void Pkcs11IsTpmTokenReady(
523 const BoolMethodCallback& callback) OVERRIDE {
523 MessageLoop::current()->PostTask( 524 MessageLoop::current()->PostTask(
524 FROM_HERE, base::Bind(callback, DBUS_METHOD_CALL_SUCCESS, true)); 525 FROM_HERE, base::Bind(callback, DBUS_METHOD_CALL_SUCCESS, true));
525 } 526 }
526 527
527 // CryptohomeClient override. 528 // CryptohomeClient override.
528 virtual void Pkcs11GetTpmTokenInfo( 529 virtual void Pkcs11GetTpmTokenInfo(
529 Pkcs11GetTpmTokenInfoCallback callback) OVERRIDE { 530 const Pkcs11GetTpmTokenInfoCallback& callback) OVERRIDE {
530 const char kStubLabel[] = "Stub TPM Token"; 531 const char kStubLabel[] = "Stub TPM Token";
531 const char kStubUserPin[] = "012345"; 532 const char kStubUserPin[] = "012345";
532 MessageLoop::current()->PostTask( 533 MessageLoop::current()->PostTask(
533 FROM_HERE, base::Bind(callback, DBUS_METHOD_CALL_SUCCESS, kStubLabel, 534 FROM_HERE, base::Bind(callback, DBUS_METHOD_CALL_SUCCESS, kStubLabel,
534 kStubUserPin)); 535 kStubUserPin));
535 } 536 }
536 537
537 // CryptohomeClient override. 538 // CryptohomeClient override.
538 virtual bool InstallAttributesGet(const std::string& name, 539 virtual bool InstallAttributesGet(const std::string& name,
539 std::vector<uint8>* value, 540 std::vector<uint8>* value,
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
578 579
579 // CryptohomeClient override. 580 // CryptohomeClient override.
580 virtual bool InstallAttributesIsFirstInstall(bool* is_first_install) OVERRIDE 581 virtual bool InstallAttributesIsFirstInstall(bool* is_first_install) OVERRIDE
581 { 582 {
582 *is_first_install = !locked_; 583 *is_first_install = !locked_;
583 return true; 584 return true;
584 } 585 }
585 586
586 private: 587 private:
587 // Posts tasks which return fake results to the UI thread. 588 // Posts tasks which return fake results to the UI thread.
588 void ReturnAsyncMethodResult(AsyncMethodCallback callback) { 589 void ReturnAsyncMethodResult(const AsyncMethodCallback& callback) {
589 MessageLoop::current()->PostTask( 590 MessageLoop::current()->PostTask(
590 FROM_HERE, 591 FROM_HERE,
591 base::Bind(&CryptohomeClientStubImpl::ReturnAsyncMethodResultInternal, 592 base::Bind(&CryptohomeClientStubImpl::ReturnAsyncMethodResultInternal,
592 weak_ptr_factory_.GetWeakPtr(), 593 weak_ptr_factory_.GetWeakPtr(),
593 callback)); 594 callback));
594 } 595 }
595 596
596 // This method is used to implement ReturnAsyncMethodResult. 597 // This method is used to implement ReturnAsyncMethodResult.
597 void ReturnAsyncMethodResultInternal(AsyncMethodCallback callback) { 598 void ReturnAsyncMethodResultInternal(const AsyncMethodCallback& callback) {
598 callback.Run(async_call_id_); 599 callback.Run(async_call_id_);
599 if (!async_call_status_handler_.is_null()) { 600 if (!async_call_status_handler_.is_null()) {
600 MessageLoop::current()->PostTask( 601 MessageLoop::current()->PostTask(
601 FROM_HERE, 602 FROM_HERE,
602 base::Bind(async_call_status_handler_, 603 base::Bind(async_call_status_handler_,
603 async_call_id_, 604 async_call_id_,
604 true, 605 true,
605 cryptohome::MOUNT_ERROR_NONE)); 606 cryptohome::MOUNT_ERROR_NONE));
606 } 607 }
607 ++async_call_id_; 608 ++async_call_id_;
(...skipping 21 matching lines...) Expand all
629 // static 630 // static
630 CryptohomeClient* CryptohomeClient::Create(DBusClientImplementationType type, 631 CryptohomeClient* CryptohomeClient::Create(DBusClientImplementationType type,
631 dbus::Bus* bus) { 632 dbus::Bus* bus) {
632 if (type == REAL_DBUS_CLIENT_IMPLEMENTATION) 633 if (type == REAL_DBUS_CLIENT_IMPLEMENTATION)
633 return new CryptohomeClientImpl(bus); 634 return new CryptohomeClientImpl(bus);
634 DCHECK_EQ(STUB_DBUS_CLIENT_IMPLEMENTATION, type); 635 DCHECK_EQ(STUB_DBUS_CLIENT_IMPLEMENTATION, type);
635 return new CryptohomeClientStubImpl(); 636 return new CryptohomeClientStubImpl();
636 } 637 }
637 638
638 } // namespace chromeos 639 } // namespace chromeos
OLDNEW
« no previous file with comments | « chromeos/dbus/cryptohome_client.h ('k') | chromeos/dbus/flimflam_client_unittest_base.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698