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

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

Issue 628883002: replace OVERRIDE and FINAL with override and final in chromeos/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 2 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 | « chromeos/dbus/cros_disks_client.cc ('k') | chromeos/dbus/debug_daemon_client.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 (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/location.h" 8 #include "base/location.h"
9 #include "base/memory/weak_ptr.h" 9 #include "base/memory/weak_ptr.h"
10 #include "base/message_loop/message_loop.h" 10 #include "base/message_loop/message_loop.h"
(...skipping 21 matching lines...) Expand all
32 const int kTpmDBusTimeoutMs = 2 * 60 * 1000; 32 const int kTpmDBusTimeoutMs = 2 * 60 * 1000;
33 33
34 // The CryptohomeClient implementation. 34 // The CryptohomeClient implementation.
35 class CryptohomeClientImpl : public CryptohomeClient { 35 class CryptohomeClientImpl : public CryptohomeClient {
36 public: 36 public:
37 CryptohomeClientImpl() : proxy_(NULL), weak_ptr_factory_(this) {} 37 CryptohomeClientImpl() : proxy_(NULL), weak_ptr_factory_(this) {}
38 38
39 // CryptohomeClient override. 39 // CryptohomeClient override.
40 virtual void SetAsyncCallStatusHandlers( 40 virtual void SetAsyncCallStatusHandlers(
41 const AsyncCallStatusHandler& handler, 41 const AsyncCallStatusHandler& handler,
42 const AsyncCallStatusWithDataHandler& data_handler) OVERRIDE { 42 const AsyncCallStatusWithDataHandler& data_handler) override {
43 async_call_status_handler_ = handler; 43 async_call_status_handler_ = handler;
44 async_call_status_data_handler_ = data_handler; 44 async_call_status_data_handler_ = data_handler;
45 } 45 }
46 46
47 // CryptohomeClient override. 47 // CryptohomeClient override.
48 virtual void ResetAsyncCallStatusHandlers() OVERRIDE { 48 virtual void ResetAsyncCallStatusHandlers() override {
49 async_call_status_handler_.Reset(); 49 async_call_status_handler_.Reset();
50 async_call_status_data_handler_.Reset(); 50 async_call_status_data_handler_.Reset();
51 } 51 }
52 52
53 // CryptohomeClient override. 53 // CryptohomeClient override.
54 virtual void WaitForServiceToBeAvailable( 54 virtual void WaitForServiceToBeAvailable(
55 const WaitForServiceToBeAvailableCallback& callback) OVERRIDE { 55 const WaitForServiceToBeAvailableCallback& callback) override {
56 proxy_->WaitForServiceToBeAvailable(callback); 56 proxy_->WaitForServiceToBeAvailable(callback);
57 } 57 }
58 58
59 // CryptohomeClient override. 59 // CryptohomeClient override.
60 virtual void IsMounted(const BoolDBusMethodCallback& callback) OVERRIDE { 60 virtual void IsMounted(const BoolDBusMethodCallback& callback) override {
61 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface, 61 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface,
62 cryptohome::kCryptohomeIsMounted); 62 cryptohome::kCryptohomeIsMounted);
63 CallBoolMethod(&method_call, callback); 63 CallBoolMethod(&method_call, callback);
64 } 64 }
65 65
66 // CryptohomeClient override. 66 // CryptohomeClient override.
67 virtual bool Unmount(bool *success) OVERRIDE { 67 virtual bool Unmount(bool *success) override {
68 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface, 68 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface,
69 cryptohome::kCryptohomeUnmount); 69 cryptohome::kCryptohomeUnmount);
70 return CallBoolMethodAndBlock(&method_call, success); 70 return CallBoolMethodAndBlock(&method_call, success);
71 } 71 }
72 72
73 // CryptohomeClient override. 73 // CryptohomeClient override.
74 virtual void AsyncCheckKey(const std::string& username, 74 virtual void AsyncCheckKey(const std::string& username,
75 const std::string& key, 75 const std::string& key,
76 const AsyncMethodCallback& callback) OVERRIDE { 76 const AsyncMethodCallback& callback) override {
77 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface, 77 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface,
78 cryptohome::kCryptohomeAsyncCheckKey); 78 cryptohome::kCryptohomeAsyncCheckKey);
79 dbus::MessageWriter writer(&method_call); 79 dbus::MessageWriter writer(&method_call);
80 writer.AppendString(username); 80 writer.AppendString(username);
81 writer.AppendString(key); 81 writer.AppendString(key);
82 proxy_->CallMethod(&method_call, kTpmDBusTimeoutMs , 82 proxy_->CallMethod(&method_call, kTpmDBusTimeoutMs ,
83 base::Bind(&CryptohomeClientImpl::OnAsyncMethodCall, 83 base::Bind(&CryptohomeClientImpl::OnAsyncMethodCall,
84 weak_ptr_factory_.GetWeakPtr(), 84 weak_ptr_factory_.GetWeakPtr(),
85 callback)); 85 callback));
86 } 86 }
87 87
88 // CryptohomeClient override. 88 // CryptohomeClient override.
89 virtual void AsyncMigrateKey(const std::string& username, 89 virtual void AsyncMigrateKey(const std::string& username,
90 const std::string& from_key, 90 const std::string& from_key,
91 const std::string& to_key, 91 const std::string& to_key,
92 const AsyncMethodCallback& callback) OVERRIDE { 92 const AsyncMethodCallback& callback) override {
93 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface, 93 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface,
94 cryptohome::kCryptohomeAsyncMigrateKey); 94 cryptohome::kCryptohomeAsyncMigrateKey);
95 dbus::MessageWriter writer(&method_call); 95 dbus::MessageWriter writer(&method_call);
96 writer.AppendString(username); 96 writer.AppendString(username);
97 writer.AppendString(from_key); 97 writer.AppendString(from_key);
98 writer.AppendString(to_key); 98 writer.AppendString(to_key);
99 proxy_->CallMethod(&method_call, kTpmDBusTimeoutMs , 99 proxy_->CallMethod(&method_call, kTpmDBusTimeoutMs ,
100 base::Bind(&CryptohomeClientImpl::OnAsyncMethodCall, 100 base::Bind(&CryptohomeClientImpl::OnAsyncMethodCall,
101 weak_ptr_factory_.GetWeakPtr(), 101 weak_ptr_factory_.GetWeakPtr(),
102 callback)); 102 callback));
103 } 103 }
104 104
105 // CryptohomeClient override. 105 // CryptohomeClient override.
106 virtual void AsyncRemove(const std::string& username, 106 virtual void AsyncRemove(const std::string& username,
107 const AsyncMethodCallback& callback) OVERRIDE { 107 const AsyncMethodCallback& callback) override {
108 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface, 108 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface,
109 cryptohome::kCryptohomeAsyncRemove); 109 cryptohome::kCryptohomeAsyncRemove);
110 dbus::MessageWriter writer(&method_call); 110 dbus::MessageWriter writer(&method_call);
111 writer.AppendString(username); 111 writer.AppendString(username);
112 proxy_->CallMethod(&method_call, kTpmDBusTimeoutMs , 112 proxy_->CallMethod(&method_call, kTpmDBusTimeoutMs ,
113 base::Bind(&CryptohomeClientImpl::OnAsyncMethodCall, 113 base::Bind(&CryptohomeClientImpl::OnAsyncMethodCall,
114 weak_ptr_factory_.GetWeakPtr(), 114 weak_ptr_factory_.GetWeakPtr(),
115 callback)); 115 callback));
116 } 116 }
117 117
118 // CryptohomeClient override. 118 // CryptohomeClient override.
119 virtual void GetSystemSalt(const GetSystemSaltCallback& callback) OVERRIDE { 119 virtual void GetSystemSalt(const GetSystemSaltCallback& callback) override {
120 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface, 120 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface,
121 cryptohome::kCryptohomeGetSystemSalt); 121 cryptohome::kCryptohomeGetSystemSalt);
122 proxy_->CallMethod(&method_call, kTpmDBusTimeoutMs , 122 proxy_->CallMethod(&method_call, kTpmDBusTimeoutMs ,
123 base::Bind(&CryptohomeClientImpl::OnGetSystemSalt, 123 base::Bind(&CryptohomeClientImpl::OnGetSystemSalt,
124 weak_ptr_factory_.GetWeakPtr(), 124 weak_ptr_factory_.GetWeakPtr(),
125 callback)); 125 callback));
126 } 126 }
127 127
128 // CryptohomeClient override, 128 // CryptohomeClient override,
129 virtual void GetSanitizedUsername( 129 virtual void GetSanitizedUsername(
130 const std::string& username, 130 const std::string& username,
131 const StringDBusMethodCallback& callback) OVERRIDE { 131 const StringDBusMethodCallback& callback) override {
132 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface, 132 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface,
133 cryptohome::kCryptohomeGetSanitizedUsername); 133 cryptohome::kCryptohomeGetSanitizedUsername);
134 dbus::MessageWriter writer(&method_call); 134 dbus::MessageWriter writer(&method_call);
135 writer.AppendString(username); 135 writer.AppendString(username);
136 proxy_->CallMethod(&method_call, kTpmDBusTimeoutMs , 136 proxy_->CallMethod(&method_call, kTpmDBusTimeoutMs ,
137 base::Bind(&CryptohomeClientImpl::OnStringMethod, 137 base::Bind(&CryptohomeClientImpl::OnStringMethod,
138 weak_ptr_factory_.GetWeakPtr(), 138 weak_ptr_factory_.GetWeakPtr(),
139 callback)); 139 callback));
140 } 140 }
141 141
142 // CryptohomeClient override. 142 // CryptohomeClient override.
143 virtual std::string BlockingGetSanitizedUsername( 143 virtual std::string BlockingGetSanitizedUsername(
144 const std::string& username) OVERRIDE { 144 const std::string& username) override {
145 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface, 145 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface,
146 cryptohome::kCryptohomeGetSanitizedUsername); 146 cryptohome::kCryptohomeGetSanitizedUsername);
147 dbus::MessageWriter writer(&method_call); 147 dbus::MessageWriter writer(&method_call);
148 writer.AppendString(username); 148 writer.AppendString(username);
149 149
150 scoped_ptr<dbus::Response> response = 150 scoped_ptr<dbus::Response> response =
151 blocking_method_caller_->CallMethodAndBlock(&method_call); 151 blocking_method_caller_->CallMethodAndBlock(&method_call);
152 152
153 std::string sanitized_username; 153 std::string sanitized_username;
154 if (response) { 154 if (response) {
155 dbus::MessageReader reader(response.get()); 155 dbus::MessageReader reader(response.get());
156 reader.PopString(&sanitized_username); 156 reader.PopString(&sanitized_username);
157 } 157 }
158 158
159 return sanitized_username; 159 return sanitized_username;
160 } 160 }
161 161
162 // CryptohomeClient override. 162 // CryptohomeClient override.
163 virtual void AsyncMount(const std::string& username, 163 virtual void AsyncMount(const std::string& username,
164 const std::string& key, 164 const std::string& key,
165 int flags, 165 int flags,
166 const AsyncMethodCallback& callback) OVERRIDE { 166 const AsyncMethodCallback& callback) override {
167 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface, 167 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface,
168 cryptohome::kCryptohomeAsyncMount); 168 cryptohome::kCryptohomeAsyncMount);
169 dbus::MessageWriter writer(&method_call); 169 dbus::MessageWriter writer(&method_call);
170 writer.AppendString(username); 170 writer.AppendString(username);
171 writer.AppendString(key); 171 writer.AppendString(key);
172 writer.AppendBool(flags & cryptohome::CREATE_IF_MISSING); 172 writer.AppendBool(flags & cryptohome::CREATE_IF_MISSING);
173 writer.AppendBool(flags & cryptohome::ENSURE_EPHEMERAL); 173 writer.AppendBool(flags & cryptohome::ENSURE_EPHEMERAL);
174 // deprecated_tracked_subdirectories 174 // deprecated_tracked_subdirectories
175 writer.AppendArrayOfStrings(std::vector<std::string>()); 175 writer.AppendArrayOfStrings(std::vector<std::string>());
176 proxy_->CallMethod(&method_call, kTpmDBusTimeoutMs , 176 proxy_->CallMethod(&method_call, kTpmDBusTimeoutMs ,
177 base::Bind(&CryptohomeClientImpl::OnAsyncMethodCall, 177 base::Bind(&CryptohomeClientImpl::OnAsyncMethodCall,
178 weak_ptr_factory_.GetWeakPtr(), 178 weak_ptr_factory_.GetWeakPtr(),
179 callback)); 179 callback));
180 } 180 }
181 181
182 // CryptohomeClient override. 182 // CryptohomeClient override.
183 virtual void AsyncAddKey(const std::string& username, 183 virtual void AsyncAddKey(const std::string& username,
184 const std::string& key, 184 const std::string& key,
185 const std::string& new_key, 185 const std::string& new_key,
186 const AsyncMethodCallback& callback) OVERRIDE { 186 const AsyncMethodCallback& callback) override {
187 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface, 187 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface,
188 cryptohome::kCryptohomeAsyncAddKey); 188 cryptohome::kCryptohomeAsyncAddKey);
189 dbus::MessageWriter writer(&method_call); 189 dbus::MessageWriter writer(&method_call);
190 writer.AppendString(username); 190 writer.AppendString(username);
191 writer.AppendString(key); 191 writer.AppendString(key);
192 writer.AppendString(new_key); 192 writer.AppendString(new_key);
193 proxy_->CallMethod(&method_call, kTpmDBusTimeoutMs , 193 proxy_->CallMethod(&method_call, kTpmDBusTimeoutMs ,
194 base::Bind(&CryptohomeClientImpl::OnAsyncMethodCall, 194 base::Bind(&CryptohomeClientImpl::OnAsyncMethodCall,
195 weak_ptr_factory_.GetWeakPtr(), 195 weak_ptr_factory_.GetWeakPtr(),
196 callback)); 196 callback));
197 } 197 }
198 198
199 // CryptohomeClient override. 199 // CryptohomeClient override.
200 virtual void AsyncMountGuest(const AsyncMethodCallback& callback) OVERRIDE { 200 virtual void AsyncMountGuest(const AsyncMethodCallback& callback) override {
201 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface, 201 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface,
202 cryptohome::kCryptohomeAsyncMountGuest); 202 cryptohome::kCryptohomeAsyncMountGuest);
203 proxy_->CallMethod(&method_call, kTpmDBusTimeoutMs , 203 proxy_->CallMethod(&method_call, kTpmDBusTimeoutMs ,
204 base::Bind(&CryptohomeClientImpl::OnAsyncMethodCall, 204 base::Bind(&CryptohomeClientImpl::OnAsyncMethodCall,
205 weak_ptr_factory_.GetWeakPtr(), 205 weak_ptr_factory_.GetWeakPtr(),
206 callback)); 206 callback));
207 } 207 }
208 208
209 // CryptohomeClient override. 209 // CryptohomeClient override.
210 virtual void AsyncMountPublic(const std::string& public_mount_id, 210 virtual void AsyncMountPublic(const std::string& public_mount_id,
211 int flags, 211 int flags,
212 const AsyncMethodCallback& callback) OVERRIDE { 212 const AsyncMethodCallback& callback) override {
213 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface, 213 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface,
214 cryptohome::kCryptohomeAsyncMountPublic); 214 cryptohome::kCryptohomeAsyncMountPublic);
215 dbus::MessageWriter writer(&method_call); 215 dbus::MessageWriter writer(&method_call);
216 writer.AppendString(public_mount_id); 216 writer.AppendString(public_mount_id);
217 writer.AppendBool(flags & cryptohome::CREATE_IF_MISSING); 217 writer.AppendBool(flags & cryptohome::CREATE_IF_MISSING);
218 writer.AppendBool(flags & cryptohome::ENSURE_EPHEMERAL); 218 writer.AppendBool(flags & cryptohome::ENSURE_EPHEMERAL);
219 proxy_->CallMethod(&method_call, kTpmDBusTimeoutMs , 219 proxy_->CallMethod(&method_call, kTpmDBusTimeoutMs ,
220 base::Bind(&CryptohomeClientImpl::OnAsyncMethodCall, 220 base::Bind(&CryptohomeClientImpl::OnAsyncMethodCall,
221 weak_ptr_factory_.GetWeakPtr(), 221 weak_ptr_factory_.GetWeakPtr(),
222 callback)); 222 callback));
223 } 223 }
224 224
225 // CryptohomeClient override. 225 // CryptohomeClient override.
226 virtual void TpmIsReady(const BoolDBusMethodCallback& callback) OVERRIDE { 226 virtual void TpmIsReady(const BoolDBusMethodCallback& callback) override {
227 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface, 227 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface,
228 cryptohome::kCryptohomeTpmIsReady); 228 cryptohome::kCryptohomeTpmIsReady);
229 CallBoolMethod(&method_call, callback); 229 CallBoolMethod(&method_call, callback);
230 } 230 }
231 231
232 // CryptohomeClient override. 232 // CryptohomeClient override.
233 virtual void TpmIsEnabled(const BoolDBusMethodCallback& callback) OVERRIDE { 233 virtual void TpmIsEnabled(const BoolDBusMethodCallback& callback) override {
234 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface, 234 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface,
235 cryptohome::kCryptohomeTpmIsEnabled); 235 cryptohome::kCryptohomeTpmIsEnabled);
236 CallBoolMethod(&method_call, callback); 236 CallBoolMethod(&method_call, callback);
237 } 237 }
238 238
239 // CryptohomeClient override. 239 // CryptohomeClient override.
240 // TODO(hashimoto): Remove this method. crbug.com/141006 240 // TODO(hashimoto): Remove this method. crbug.com/141006
241 virtual bool CallTpmIsEnabledAndBlock(bool* enabled) OVERRIDE { 241 virtual bool CallTpmIsEnabledAndBlock(bool* enabled) override {
242 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface, 242 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface,
243 cryptohome::kCryptohomeTpmIsEnabled); 243 cryptohome::kCryptohomeTpmIsEnabled);
244 return CallBoolMethodAndBlock(&method_call, enabled); 244 return CallBoolMethodAndBlock(&method_call, enabled);
245 } 245 }
246 246
247 // CryptohomeClient override. 247 // CryptohomeClient override.
248 virtual void TpmGetPassword( 248 virtual void TpmGetPassword(
249 const StringDBusMethodCallback& callback) OVERRIDE { 249 const StringDBusMethodCallback& callback) override {
250 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface, 250 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface,
251 cryptohome::kCryptohomeTpmGetPassword); 251 cryptohome::kCryptohomeTpmGetPassword);
252 proxy_->CallMethod( 252 proxy_->CallMethod(
253 &method_call, kTpmDBusTimeoutMs , 253 &method_call, kTpmDBusTimeoutMs ,
254 base::Bind(&CryptohomeClientImpl::OnStringMethod, 254 base::Bind(&CryptohomeClientImpl::OnStringMethod,
255 weak_ptr_factory_.GetWeakPtr(), 255 weak_ptr_factory_.GetWeakPtr(),
256 callback)); 256 callback));
257 } 257 }
258 258
259 // CryptohomeClient override. 259 // CryptohomeClient override.
260 virtual void TpmIsOwned(const BoolDBusMethodCallback& callback) OVERRIDE { 260 virtual void TpmIsOwned(const BoolDBusMethodCallback& callback) override {
261 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface, 261 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface,
262 cryptohome::kCryptohomeTpmIsOwned); 262 cryptohome::kCryptohomeTpmIsOwned);
263 CallBoolMethod(&method_call, callback); 263 CallBoolMethod(&method_call, callback);
264 } 264 }
265 265
266 // CryptohomeClient override. 266 // CryptohomeClient override.
267 // TODO(hashimoto): Remove this method. crbug.com/141012 267 // TODO(hashimoto): Remove this method. crbug.com/141012
268 virtual bool CallTpmIsOwnedAndBlock(bool* owned) OVERRIDE { 268 virtual bool CallTpmIsOwnedAndBlock(bool* owned) override {
269 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface, 269 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface,
270 cryptohome::kCryptohomeTpmIsOwned); 270 cryptohome::kCryptohomeTpmIsOwned);
271 return CallBoolMethodAndBlock(&method_call, owned); 271 return CallBoolMethodAndBlock(&method_call, owned);
272 } 272 }
273 273
274 // CryptohomeClient override. 274 // CryptohomeClient override.
275 virtual void TpmIsBeingOwned(const BoolDBusMethodCallback& callback) 275 virtual void TpmIsBeingOwned(const BoolDBusMethodCallback& callback)
276 OVERRIDE { 276 override {
277 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface, 277 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface,
278 cryptohome::kCryptohomeTpmIsBeingOwned); 278 cryptohome::kCryptohomeTpmIsBeingOwned);
279 CallBoolMethod(&method_call, callback); 279 CallBoolMethod(&method_call, callback);
280 } 280 }
281 281
282 // CryptohomeClient override. 282 // CryptohomeClient override.
283 // TODO(hashimoto): Remove this method. crbug.com/141011 283 // TODO(hashimoto): Remove this method. crbug.com/141011
284 virtual bool CallTpmIsBeingOwnedAndBlock(bool* owning) OVERRIDE { 284 virtual bool CallTpmIsBeingOwnedAndBlock(bool* owning) override {
285 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface, 285 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface,
286 cryptohome::kCryptohomeTpmIsBeingOwned); 286 cryptohome::kCryptohomeTpmIsBeingOwned);
287 return CallBoolMethodAndBlock(&method_call, owning); 287 return CallBoolMethodAndBlock(&method_call, owning);
288 } 288 }
289 289
290 // CryptohomeClient override. 290 // CryptohomeClient override.
291 virtual void TpmCanAttemptOwnership( 291 virtual void TpmCanAttemptOwnership(
292 const VoidDBusMethodCallback& callback) OVERRIDE { 292 const VoidDBusMethodCallback& callback) override {
293 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface, 293 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface,
294 cryptohome::kCryptohomeTpmCanAttemptOwnership); 294 cryptohome::kCryptohomeTpmCanAttemptOwnership);
295 CallVoidMethod(&method_call, callback); 295 CallVoidMethod(&method_call, callback);
296 } 296 }
297 297
298 // CryptohomeClient overrides. 298 // CryptohomeClient overrides.
299 virtual void TpmClearStoredPassword(const VoidDBusMethodCallback& callback) 299 virtual void TpmClearStoredPassword(const VoidDBusMethodCallback& callback)
300 OVERRIDE { 300 override {
301 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface, 301 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface,
302 cryptohome::kCryptohomeTpmClearStoredPassword); 302 cryptohome::kCryptohomeTpmClearStoredPassword);
303 CallVoidMethod(&method_call, callback); 303 CallVoidMethod(&method_call, callback);
304 } 304 }
305 305
306 // CryptohomeClient override. 306 // CryptohomeClient override.
307 // TODO(hashimoto): Remove this method. crbug.com/141010 307 // TODO(hashimoto): Remove this method. crbug.com/141010
308 virtual bool CallTpmClearStoredPasswordAndBlock() OVERRIDE { 308 virtual bool CallTpmClearStoredPasswordAndBlock() override {
309 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface, 309 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface,
310 cryptohome::kCryptohomeTpmClearStoredPassword); 310 cryptohome::kCryptohomeTpmClearStoredPassword);
311 scoped_ptr<dbus::Response> response( 311 scoped_ptr<dbus::Response> response(
312 blocking_method_caller_->CallMethodAndBlock(&method_call)); 312 blocking_method_caller_->CallMethodAndBlock(&method_call));
313 return response.get() != NULL; 313 return response.get() != NULL;
314 } 314 }
315 315
316 // CryptohomeClient override. 316 // CryptohomeClient override.
317 virtual void Pkcs11IsTpmTokenReady(const BoolDBusMethodCallback& callback) 317 virtual void Pkcs11IsTpmTokenReady(const BoolDBusMethodCallback& callback)
318 OVERRIDE { 318 override {
319 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface, 319 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface,
320 cryptohome::kCryptohomePkcs11IsTpmTokenReady); 320 cryptohome::kCryptohomePkcs11IsTpmTokenReady);
321 CallBoolMethod(&method_call, callback); 321 CallBoolMethod(&method_call, callback);
322 } 322 }
323 323
324 // CryptohomeClient override. 324 // CryptohomeClient override.
325 virtual void Pkcs11GetTpmTokenInfo( 325 virtual void Pkcs11GetTpmTokenInfo(
326 const Pkcs11GetTpmTokenInfoCallback& callback) OVERRIDE { 326 const Pkcs11GetTpmTokenInfoCallback& callback) override {
327 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface, 327 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface,
328 cryptohome::kCryptohomePkcs11GetTpmTokenInfo); 328 cryptohome::kCryptohomePkcs11GetTpmTokenInfo);
329 proxy_->CallMethod( 329 proxy_->CallMethod(
330 &method_call, kTpmDBusTimeoutMs , 330 &method_call, kTpmDBusTimeoutMs ,
331 base::Bind( 331 base::Bind(
332 &CryptohomeClientImpl::OnPkcs11GetTpmTokenInfo, 332 &CryptohomeClientImpl::OnPkcs11GetTpmTokenInfo,
333 weak_ptr_factory_.GetWeakPtr(), 333 weak_ptr_factory_.GetWeakPtr(),
334 callback)); 334 callback));
335 } 335 }
336 336
337 // CryptohomeClient override. 337 // CryptohomeClient override.
338 virtual void Pkcs11GetTpmTokenInfoForUser( 338 virtual void Pkcs11GetTpmTokenInfoForUser(
339 const std::string& user_email, 339 const std::string& user_email,
340 const Pkcs11GetTpmTokenInfoCallback& callback) OVERRIDE { 340 const Pkcs11GetTpmTokenInfoCallback& callback) override {
341 dbus::MethodCall method_call( 341 dbus::MethodCall method_call(
342 cryptohome::kCryptohomeInterface, 342 cryptohome::kCryptohomeInterface,
343 cryptohome::kCryptohomePkcs11GetTpmTokenInfoForUser); 343 cryptohome::kCryptohomePkcs11GetTpmTokenInfoForUser);
344 dbus::MessageWriter writer(&method_call); 344 dbus::MessageWriter writer(&method_call);
345 writer.AppendString(user_email); 345 writer.AppendString(user_email);
346 proxy_->CallMethod( 346 proxy_->CallMethod(
347 &method_call, kTpmDBusTimeoutMs , 347 &method_call, kTpmDBusTimeoutMs ,
348 base::Bind( 348 base::Bind(
349 &CryptohomeClientImpl::OnPkcs11GetTpmTokenInfoForUser, 349 &CryptohomeClientImpl::OnPkcs11GetTpmTokenInfoForUser,
350 weak_ptr_factory_.GetWeakPtr(), 350 weak_ptr_factory_.GetWeakPtr(),
351 callback)); 351 callback));
352 } 352 }
353 353
354 // CryptohomeClient override. 354 // CryptohomeClient override.
355 virtual bool InstallAttributesGet(const std::string& name, 355 virtual bool InstallAttributesGet(const std::string& name,
356 std::vector<uint8>* value, 356 std::vector<uint8>* value,
357 bool* successful) OVERRIDE { 357 bool* successful) override {
358 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface, 358 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface,
359 cryptohome::kCryptohomeInstallAttributesGet); 359 cryptohome::kCryptohomeInstallAttributesGet);
360 dbus::MessageWriter writer(&method_call); 360 dbus::MessageWriter writer(&method_call);
361 writer.AppendString(name); 361 writer.AppendString(name);
362 scoped_ptr<dbus::Response> response( 362 scoped_ptr<dbus::Response> response(
363 blocking_method_caller_->CallMethodAndBlock(&method_call)); 363 blocking_method_caller_->CallMethodAndBlock(&method_call));
364 if (!response.get()) 364 if (!response.get())
365 return false; 365 return false;
366 dbus::MessageReader reader(response.get()); 366 dbus::MessageReader reader(response.get());
367 const uint8* bytes = NULL; 367 const uint8* bytes = NULL;
368 size_t length = 0; 368 size_t length = 0;
369 if (!reader.PopArrayOfBytes(&bytes, &length) || 369 if (!reader.PopArrayOfBytes(&bytes, &length) ||
370 !reader.PopBool(successful)) 370 !reader.PopBool(successful))
371 return false; 371 return false;
372 value->assign(bytes, bytes + length); 372 value->assign(bytes, bytes + length);
373 return true; 373 return true;
374 } 374 }
375 375
376 // CryptohomeClient override. 376 // CryptohomeClient override.
377 virtual bool InstallAttributesSet(const std::string& name, 377 virtual bool InstallAttributesSet(const std::string& name,
378 const std::vector<uint8>& value, 378 const std::vector<uint8>& value,
379 bool* successful) OVERRIDE { 379 bool* successful) override {
380 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface, 380 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface,
381 cryptohome::kCryptohomeInstallAttributesSet); 381 cryptohome::kCryptohomeInstallAttributesSet);
382 dbus::MessageWriter writer(&method_call); 382 dbus::MessageWriter writer(&method_call);
383 writer.AppendString(name); 383 writer.AppendString(name);
384 writer.AppendArrayOfBytes(value.data(), value.size()); 384 writer.AppendArrayOfBytes(value.data(), value.size());
385 return CallBoolMethodAndBlock(&method_call, successful); 385 return CallBoolMethodAndBlock(&method_call, successful);
386 } 386 }
387 387
388 // CryptohomeClient override. 388 // CryptohomeClient override.
389 virtual bool InstallAttributesFinalize(bool* successful) OVERRIDE { 389 virtual bool InstallAttributesFinalize(bool* successful) override {
390 dbus::MethodCall method_call( 390 dbus::MethodCall method_call(
391 cryptohome::kCryptohomeInterface, 391 cryptohome::kCryptohomeInterface,
392 cryptohome::kCryptohomeInstallAttributesFinalize); 392 cryptohome::kCryptohomeInstallAttributesFinalize);
393 return CallBoolMethodAndBlock(&method_call, successful); 393 return CallBoolMethodAndBlock(&method_call, successful);
394 } 394 }
395 395
396 // CryptohomeClient override. 396 // CryptohomeClient override.
397 virtual void InstallAttributesIsReady(const BoolDBusMethodCallback& callback) 397 virtual void InstallAttributesIsReady(const BoolDBusMethodCallback& callback)
398 OVERRIDE { 398 override {
399 dbus::MethodCall method_call( 399 dbus::MethodCall method_call(
400 cryptohome::kCryptohomeInterface, 400 cryptohome::kCryptohomeInterface,
401 cryptohome::kCryptohomeInstallAttributesIsReady); 401 cryptohome::kCryptohomeInstallAttributesIsReady);
402 return CallBoolMethod(&method_call, callback); 402 return CallBoolMethod(&method_call, callback);
403 } 403 }
404 404
405 // CryptohomeClient override. 405 // CryptohomeClient override.
406 virtual bool InstallAttributesIsInvalid(bool* is_invalid) OVERRIDE { 406 virtual bool InstallAttributesIsInvalid(bool* is_invalid) override {
407 dbus::MethodCall method_call( 407 dbus::MethodCall method_call(
408 cryptohome::kCryptohomeInterface, 408 cryptohome::kCryptohomeInterface,
409 cryptohome::kCryptohomeInstallAttributesIsInvalid); 409 cryptohome::kCryptohomeInstallAttributesIsInvalid);
410 return CallBoolMethodAndBlock(&method_call, is_invalid); 410 return CallBoolMethodAndBlock(&method_call, is_invalid);
411 } 411 }
412 412
413 // CryptohomeClient override. 413 // CryptohomeClient override.
414 virtual bool InstallAttributesIsFirstInstall( 414 virtual bool InstallAttributesIsFirstInstall(
415 bool* is_first_install) OVERRIDE { 415 bool* is_first_install) override {
416 dbus::MethodCall method_call( 416 dbus::MethodCall method_call(
417 cryptohome::kCryptohomeInterface, 417 cryptohome::kCryptohomeInterface,
418 cryptohome::kCryptohomeInstallAttributesIsFirstInstall); 418 cryptohome::kCryptohomeInstallAttributesIsFirstInstall);
419 return CallBoolMethodAndBlock(&method_call, is_first_install); 419 return CallBoolMethodAndBlock(&method_call, is_first_install);
420 } 420 }
421 421
422 // CryptohomeClient override. 422 // CryptohomeClient override.
423 virtual void TpmAttestationIsPrepared( 423 virtual void TpmAttestationIsPrepared(
424 const BoolDBusMethodCallback& callback) OVERRIDE { 424 const BoolDBusMethodCallback& callback) override {
425 dbus::MethodCall method_call( 425 dbus::MethodCall method_call(
426 cryptohome::kCryptohomeInterface, 426 cryptohome::kCryptohomeInterface,
427 cryptohome::kCryptohomeTpmIsAttestationPrepared); 427 cryptohome::kCryptohomeTpmIsAttestationPrepared);
428 return CallBoolMethod(&method_call, callback); 428 return CallBoolMethod(&method_call, callback);
429 } 429 }
430 430
431 // CryptohomeClient override. 431 // CryptohomeClient override.
432 virtual void TpmAttestationIsEnrolled( 432 virtual void TpmAttestationIsEnrolled(
433 const BoolDBusMethodCallback& callback) OVERRIDE { 433 const BoolDBusMethodCallback& callback) override {
434 dbus::MethodCall method_call( 434 dbus::MethodCall method_call(
435 cryptohome::kCryptohomeInterface, 435 cryptohome::kCryptohomeInterface,
436 cryptohome::kCryptohomeTpmIsAttestationEnrolled); 436 cryptohome::kCryptohomeTpmIsAttestationEnrolled);
437 return CallBoolMethod(&method_call, callback); 437 return CallBoolMethod(&method_call, callback);
438 } 438 }
439 439
440 // CryptohomeClient override. 440 // CryptohomeClient override.
441 virtual void AsyncTpmAttestationCreateEnrollRequest( 441 virtual void AsyncTpmAttestationCreateEnrollRequest(
442 attestation::PrivacyCAType pca_type, 442 attestation::PrivacyCAType pca_type,
443 const AsyncMethodCallback& callback) OVERRIDE { 443 const AsyncMethodCallback& callback) override {
444 dbus::MethodCall method_call( 444 dbus::MethodCall method_call(
445 cryptohome::kCryptohomeInterface, 445 cryptohome::kCryptohomeInterface,
446 cryptohome::kCryptohomeAsyncTpmAttestationCreateEnrollRequest); 446 cryptohome::kCryptohomeAsyncTpmAttestationCreateEnrollRequest);
447 dbus::MessageWriter writer(&method_call); 447 dbus::MessageWriter writer(&method_call);
448 writer.AppendInt32(pca_type); 448 writer.AppendInt32(pca_type);
449 proxy_->CallMethod(&method_call, kTpmDBusTimeoutMs , 449 proxy_->CallMethod(&method_call, kTpmDBusTimeoutMs ,
450 base::Bind(&CryptohomeClientImpl::OnAsyncMethodCall, 450 base::Bind(&CryptohomeClientImpl::OnAsyncMethodCall,
451 weak_ptr_factory_.GetWeakPtr(), 451 weak_ptr_factory_.GetWeakPtr(),
452 callback)); 452 callback));
453 } 453 }
454 454
455 // CryptohomeClient override. 455 // CryptohomeClient override.
456 virtual void AsyncTpmAttestationEnroll( 456 virtual void AsyncTpmAttestationEnroll(
457 attestation::PrivacyCAType pca_type, 457 attestation::PrivacyCAType pca_type,
458 const std::string& pca_response, 458 const std::string& pca_response,
459 const AsyncMethodCallback& callback) OVERRIDE { 459 const AsyncMethodCallback& callback) override {
460 dbus::MethodCall method_call( 460 dbus::MethodCall method_call(
461 cryptohome::kCryptohomeInterface, 461 cryptohome::kCryptohomeInterface,
462 cryptohome::kCryptohomeAsyncTpmAttestationEnroll); 462 cryptohome::kCryptohomeAsyncTpmAttestationEnroll);
463 dbus::MessageWriter writer(&method_call); 463 dbus::MessageWriter writer(&method_call);
464 writer.AppendInt32(pca_type); 464 writer.AppendInt32(pca_type);
465 writer.AppendArrayOfBytes( 465 writer.AppendArrayOfBytes(
466 reinterpret_cast<const uint8*>(pca_response.data()), 466 reinterpret_cast<const uint8*>(pca_response.data()),
467 pca_response.size()); 467 pca_response.size());
468 proxy_->CallMethod(&method_call, kTpmDBusTimeoutMs , 468 proxy_->CallMethod(&method_call, kTpmDBusTimeoutMs ,
469 base::Bind(&CryptohomeClientImpl::OnAsyncMethodCall, 469 base::Bind(&CryptohomeClientImpl::OnAsyncMethodCall,
470 weak_ptr_factory_.GetWeakPtr(), 470 weak_ptr_factory_.GetWeakPtr(),
471 callback)); 471 callback));
472 } 472 }
473 473
474 // CryptohomeClient override. 474 // CryptohomeClient override.
475 virtual void AsyncTpmAttestationCreateCertRequest( 475 virtual void AsyncTpmAttestationCreateCertRequest(
476 attestation::PrivacyCAType pca_type, 476 attestation::PrivacyCAType pca_type,
477 attestation::AttestationCertificateProfile certificate_profile, 477 attestation::AttestationCertificateProfile certificate_profile,
478 const std::string& user_id, 478 const std::string& user_id,
479 const std::string& request_origin, 479 const std::string& request_origin,
480 const AsyncMethodCallback& callback) OVERRIDE { 480 const AsyncMethodCallback& callback) override {
481 dbus::MethodCall method_call( 481 dbus::MethodCall method_call(
482 cryptohome::kCryptohomeInterface, 482 cryptohome::kCryptohomeInterface,
483 cryptohome::kCryptohomeAsyncTpmAttestationCreateCertRequest); 483 cryptohome::kCryptohomeAsyncTpmAttestationCreateCertRequest);
484 dbus::MessageWriter writer(&method_call); 484 dbus::MessageWriter writer(&method_call);
485 writer.AppendInt32(pca_type); 485 writer.AppendInt32(pca_type);
486 writer.AppendInt32(certificate_profile); 486 writer.AppendInt32(certificate_profile);
487 writer.AppendString(user_id); 487 writer.AppendString(user_id);
488 writer.AppendString(request_origin); 488 writer.AppendString(request_origin);
489 proxy_->CallMethod(&method_call, kTpmDBusTimeoutMs , 489 proxy_->CallMethod(&method_call, kTpmDBusTimeoutMs ,
490 base::Bind(&CryptohomeClientImpl::OnAsyncMethodCall, 490 base::Bind(&CryptohomeClientImpl::OnAsyncMethodCall,
491 weak_ptr_factory_.GetWeakPtr(), 491 weak_ptr_factory_.GetWeakPtr(),
492 callback)); 492 callback));
493 } 493 }
494 494
495 // CryptohomeClient override. 495 // CryptohomeClient override.
496 virtual void AsyncTpmAttestationFinishCertRequest( 496 virtual void AsyncTpmAttestationFinishCertRequest(
497 const std::string& pca_response, 497 const std::string& pca_response,
498 attestation::AttestationKeyType key_type, 498 attestation::AttestationKeyType key_type,
499 const std::string& user_id, 499 const std::string& user_id,
500 const std::string& key_name, 500 const std::string& key_name,
501 const AsyncMethodCallback& callback) OVERRIDE { 501 const AsyncMethodCallback& callback) override {
502 dbus::MethodCall method_call( 502 dbus::MethodCall method_call(
503 cryptohome::kCryptohomeInterface, 503 cryptohome::kCryptohomeInterface,
504 cryptohome::kCryptohomeAsyncTpmAttestationFinishCertRequest); 504 cryptohome::kCryptohomeAsyncTpmAttestationFinishCertRequest);
505 dbus::MessageWriter writer(&method_call); 505 dbus::MessageWriter writer(&method_call);
506 writer.AppendArrayOfBytes( 506 writer.AppendArrayOfBytes(
507 reinterpret_cast<const uint8*>(pca_response.data()), 507 reinterpret_cast<const uint8*>(pca_response.data()),
508 pca_response.size()); 508 pca_response.size());
509 bool is_user_specific = (key_type == attestation::KEY_USER); 509 bool is_user_specific = (key_type == attestation::KEY_USER);
510 writer.AppendBool(is_user_specific); 510 writer.AppendBool(is_user_specific);
511 writer.AppendString(user_id); 511 writer.AppendString(user_id);
512 writer.AppendString(key_name); 512 writer.AppendString(key_name);
513 proxy_->CallMethod(&method_call, kTpmDBusTimeoutMs , 513 proxy_->CallMethod(&method_call, kTpmDBusTimeoutMs ,
514 base::Bind(&CryptohomeClientImpl::OnAsyncMethodCall, 514 base::Bind(&CryptohomeClientImpl::OnAsyncMethodCall,
515 weak_ptr_factory_.GetWeakPtr(), 515 weak_ptr_factory_.GetWeakPtr(),
516 callback)); 516 callback));
517 } 517 }
518 518
519 // CryptohomeClient override. 519 // CryptohomeClient override.
520 virtual void TpmAttestationDoesKeyExist( 520 virtual void TpmAttestationDoesKeyExist(
521 attestation::AttestationKeyType key_type, 521 attestation::AttestationKeyType key_type,
522 const std::string& user_id, 522 const std::string& user_id,
523 const std::string& key_name, 523 const std::string& key_name,
524 const BoolDBusMethodCallback& callback) OVERRIDE { 524 const BoolDBusMethodCallback& callback) override {
525 dbus::MethodCall method_call( 525 dbus::MethodCall method_call(
526 cryptohome::kCryptohomeInterface, 526 cryptohome::kCryptohomeInterface,
527 cryptohome::kCryptohomeTpmAttestationDoesKeyExist); 527 cryptohome::kCryptohomeTpmAttestationDoesKeyExist);
528 dbus::MessageWriter writer(&method_call); 528 dbus::MessageWriter writer(&method_call);
529 bool is_user_specific = (key_type == attestation::KEY_USER); 529 bool is_user_specific = (key_type == attestation::KEY_USER);
530 writer.AppendBool(is_user_specific); 530 writer.AppendBool(is_user_specific);
531 writer.AppendString(user_id); 531 writer.AppendString(user_id);
532 writer.AppendString(key_name); 532 writer.AppendString(key_name);
533 CallBoolMethod(&method_call, callback); 533 CallBoolMethod(&method_call, callback);
534 } 534 }
535 535
536 // CryptohomeClient override. 536 // CryptohomeClient override.
537 virtual void TpmAttestationGetCertificate( 537 virtual void TpmAttestationGetCertificate(
538 attestation::AttestationKeyType key_type, 538 attestation::AttestationKeyType key_type,
539 const std::string& user_id, 539 const std::string& user_id,
540 const std::string& key_name, 540 const std::string& key_name,
541 const DataMethodCallback& callback) OVERRIDE { 541 const DataMethodCallback& callback) override {
542 dbus::MethodCall method_call( 542 dbus::MethodCall method_call(
543 cryptohome::kCryptohomeInterface, 543 cryptohome::kCryptohomeInterface,
544 cryptohome::kCryptohomeTpmAttestationGetCertificate); 544 cryptohome::kCryptohomeTpmAttestationGetCertificate);
545 dbus::MessageWriter writer(&method_call); 545 dbus::MessageWriter writer(&method_call);
546 bool is_user_specific = (key_type == attestation::KEY_USER); 546 bool is_user_specific = (key_type == attestation::KEY_USER);
547 writer.AppendBool(is_user_specific); 547 writer.AppendBool(is_user_specific);
548 writer.AppendString(user_id); 548 writer.AppendString(user_id);
549 writer.AppendString(key_name); 549 writer.AppendString(key_name);
550 proxy_->CallMethod(&method_call, kTpmDBusTimeoutMs , 550 proxy_->CallMethod(&method_call, kTpmDBusTimeoutMs ,
551 base::Bind(&CryptohomeClientImpl::OnDataMethod, 551 base::Bind(&CryptohomeClientImpl::OnDataMethod,
552 weak_ptr_factory_.GetWeakPtr(), 552 weak_ptr_factory_.GetWeakPtr(),
553 callback)); 553 callback));
554 } 554 }
555 555
556 // CryptohomeClient override. 556 // CryptohomeClient override.
557 virtual void TpmAttestationGetPublicKey( 557 virtual void TpmAttestationGetPublicKey(
558 attestation::AttestationKeyType key_type, 558 attestation::AttestationKeyType key_type,
559 const std::string& user_id, 559 const std::string& user_id,
560 const std::string& key_name, 560 const std::string& key_name,
561 const DataMethodCallback& callback) OVERRIDE { 561 const DataMethodCallback& callback) override {
562 dbus::MethodCall method_call( 562 dbus::MethodCall method_call(
563 cryptohome::kCryptohomeInterface, 563 cryptohome::kCryptohomeInterface,
564 cryptohome::kCryptohomeTpmAttestationGetPublicKey); 564 cryptohome::kCryptohomeTpmAttestationGetPublicKey);
565 dbus::MessageWriter writer(&method_call); 565 dbus::MessageWriter writer(&method_call);
566 bool is_user_specific = (key_type == attestation::KEY_USER); 566 bool is_user_specific = (key_type == attestation::KEY_USER);
567 writer.AppendBool(is_user_specific); 567 writer.AppendBool(is_user_specific);
568 writer.AppendString(user_id); 568 writer.AppendString(user_id);
569 writer.AppendString(key_name); 569 writer.AppendString(key_name);
570 proxy_->CallMethod(&method_call, kTpmDBusTimeoutMs , 570 proxy_->CallMethod(&method_call, kTpmDBusTimeoutMs ,
571 base::Bind(&CryptohomeClientImpl::OnDataMethod, 571 base::Bind(&CryptohomeClientImpl::OnDataMethod,
572 weak_ptr_factory_.GetWeakPtr(), 572 weak_ptr_factory_.GetWeakPtr(),
573 callback)); 573 callback));
574 } 574 }
575 575
576 // CryptohomeClient override. 576 // CryptohomeClient override.
577 virtual void TpmAttestationRegisterKey( 577 virtual void TpmAttestationRegisterKey(
578 attestation::AttestationKeyType key_type, 578 attestation::AttestationKeyType key_type,
579 const std::string& user_id, 579 const std::string& user_id,
580 const std::string& key_name, 580 const std::string& key_name,
581 const AsyncMethodCallback& callback) OVERRIDE { 581 const AsyncMethodCallback& callback) override {
582 dbus::MethodCall method_call( 582 dbus::MethodCall method_call(
583 cryptohome::kCryptohomeInterface, 583 cryptohome::kCryptohomeInterface,
584 cryptohome::kCryptohomeTpmAttestationRegisterKey); 584 cryptohome::kCryptohomeTpmAttestationRegisterKey);
585 dbus::MessageWriter writer(&method_call); 585 dbus::MessageWriter writer(&method_call);
586 bool is_user_specific = (key_type == attestation::KEY_USER); 586 bool is_user_specific = (key_type == attestation::KEY_USER);
587 writer.AppendBool(is_user_specific); 587 writer.AppendBool(is_user_specific);
588 writer.AppendString(user_id); 588 writer.AppendString(user_id);
589 writer.AppendString(key_name); 589 writer.AppendString(key_name);
590 proxy_->CallMethod(&method_call, kTpmDBusTimeoutMs , 590 proxy_->CallMethod(&method_call, kTpmDBusTimeoutMs ,
591 base::Bind(&CryptohomeClientImpl::OnAsyncMethodCall, 591 base::Bind(&CryptohomeClientImpl::OnAsyncMethodCall,
592 weak_ptr_factory_.GetWeakPtr(), 592 weak_ptr_factory_.GetWeakPtr(),
593 callback)); 593 callback));
594 } 594 }
595 595
596 // CryptohomeClient override. 596 // CryptohomeClient override.
597 virtual void TpmAttestationSignEnterpriseChallenge( 597 virtual void TpmAttestationSignEnterpriseChallenge(
598 attestation::AttestationKeyType key_type, 598 attestation::AttestationKeyType key_type,
599 const std::string& user_id, 599 const std::string& user_id,
600 const std::string& key_name, 600 const std::string& key_name,
601 const std::string& domain, 601 const std::string& domain,
602 const std::string& device_id, 602 const std::string& device_id,
603 attestation::AttestationChallengeOptions options, 603 attestation::AttestationChallengeOptions options,
604 const std::string& challenge, 604 const std::string& challenge,
605 const AsyncMethodCallback& callback) OVERRIDE { 605 const AsyncMethodCallback& callback) override {
606 dbus::MethodCall method_call( 606 dbus::MethodCall method_call(
607 cryptohome::kCryptohomeInterface, 607 cryptohome::kCryptohomeInterface,
608 cryptohome::kCryptohomeTpmAttestationSignEnterpriseChallenge); 608 cryptohome::kCryptohomeTpmAttestationSignEnterpriseChallenge);
609 dbus::MessageWriter writer(&method_call); 609 dbus::MessageWriter writer(&method_call);
610 bool is_user_specific = (key_type == attestation::KEY_USER); 610 bool is_user_specific = (key_type == attestation::KEY_USER);
611 writer.AppendBool(is_user_specific); 611 writer.AppendBool(is_user_specific);
612 writer.AppendString(user_id); 612 writer.AppendString(user_id);
613 writer.AppendString(key_name); 613 writer.AppendString(key_name);
614 writer.AppendString(domain); 614 writer.AppendString(domain);
615 writer.AppendArrayOfBytes(reinterpret_cast<const uint8*>(device_id.data()), 615 writer.AppendArrayOfBytes(reinterpret_cast<const uint8*>(device_id.data()),
616 device_id.size()); 616 device_id.size());
617 bool include_signed_public_key = 617 bool include_signed_public_key =
618 (options & attestation::CHALLENGE_INCLUDE_SIGNED_PUBLIC_KEY); 618 (options & attestation::CHALLENGE_INCLUDE_SIGNED_PUBLIC_KEY);
619 writer.AppendBool(include_signed_public_key); 619 writer.AppendBool(include_signed_public_key);
620 writer.AppendArrayOfBytes(reinterpret_cast<const uint8*>(challenge.data()), 620 writer.AppendArrayOfBytes(reinterpret_cast<const uint8*>(challenge.data()),
621 challenge.size()); 621 challenge.size());
622 proxy_->CallMethod(&method_call, kTpmDBusTimeoutMs , 622 proxy_->CallMethod(&method_call, kTpmDBusTimeoutMs ,
623 base::Bind(&CryptohomeClientImpl::OnAsyncMethodCall, 623 base::Bind(&CryptohomeClientImpl::OnAsyncMethodCall,
624 weak_ptr_factory_.GetWeakPtr(), 624 weak_ptr_factory_.GetWeakPtr(),
625 callback)); 625 callback));
626 } 626 }
627 627
628 // CryptohomeClient override. 628 // CryptohomeClient override.
629 virtual void TpmAttestationSignSimpleChallenge( 629 virtual void TpmAttestationSignSimpleChallenge(
630 attestation::AttestationKeyType key_type, 630 attestation::AttestationKeyType key_type,
631 const std::string& user_id, 631 const std::string& user_id,
632 const std::string& key_name, 632 const std::string& key_name,
633 const std::string& challenge, 633 const std::string& challenge,
634 const AsyncMethodCallback& callback) OVERRIDE { 634 const AsyncMethodCallback& callback) override {
635 dbus::MethodCall method_call( 635 dbus::MethodCall method_call(
636 cryptohome::kCryptohomeInterface, 636 cryptohome::kCryptohomeInterface,
637 cryptohome::kCryptohomeTpmAttestationSignSimpleChallenge); 637 cryptohome::kCryptohomeTpmAttestationSignSimpleChallenge);
638 dbus::MessageWriter writer(&method_call); 638 dbus::MessageWriter writer(&method_call);
639 bool is_user_specific = (key_type == attestation::KEY_USER); 639 bool is_user_specific = (key_type == attestation::KEY_USER);
640 writer.AppendBool(is_user_specific); 640 writer.AppendBool(is_user_specific);
641 writer.AppendString(user_id); 641 writer.AppendString(user_id);
642 writer.AppendString(key_name); 642 writer.AppendString(key_name);
643 writer.AppendArrayOfBytes(reinterpret_cast<const uint8*>(challenge.data()), 643 writer.AppendArrayOfBytes(reinterpret_cast<const uint8*>(challenge.data()),
644 challenge.size()); 644 challenge.size());
645 proxy_->CallMethod(&method_call, kTpmDBusTimeoutMs , 645 proxy_->CallMethod(&method_call, kTpmDBusTimeoutMs ,
646 base::Bind(&CryptohomeClientImpl::OnAsyncMethodCall, 646 base::Bind(&CryptohomeClientImpl::OnAsyncMethodCall,
647 weak_ptr_factory_.GetWeakPtr(), 647 weak_ptr_factory_.GetWeakPtr(),
648 callback)); 648 callback));
649 } 649 }
650 650
651 // CryptohomeClient override. 651 // CryptohomeClient override.
652 virtual void TpmAttestationGetKeyPayload( 652 virtual void TpmAttestationGetKeyPayload(
653 attestation::AttestationKeyType key_type, 653 attestation::AttestationKeyType key_type,
654 const std::string& user_id, 654 const std::string& user_id,
655 const std::string& key_name, 655 const std::string& key_name,
656 const DataMethodCallback& callback) OVERRIDE { 656 const DataMethodCallback& callback) override {
657 dbus::MethodCall method_call( 657 dbus::MethodCall method_call(
658 cryptohome::kCryptohomeInterface, 658 cryptohome::kCryptohomeInterface,
659 cryptohome::kCryptohomeTpmAttestationGetKeyPayload); 659 cryptohome::kCryptohomeTpmAttestationGetKeyPayload);
660 dbus::MessageWriter writer(&method_call); 660 dbus::MessageWriter writer(&method_call);
661 bool is_user_specific = (key_type == attestation::KEY_USER); 661 bool is_user_specific = (key_type == attestation::KEY_USER);
662 writer.AppendBool(is_user_specific); 662 writer.AppendBool(is_user_specific);
663 writer.AppendString(user_id); 663 writer.AppendString(user_id);
664 writer.AppendString(key_name); 664 writer.AppendString(key_name);
665 proxy_->CallMethod(&method_call, kTpmDBusTimeoutMs , 665 proxy_->CallMethod(&method_call, kTpmDBusTimeoutMs ,
666 base::Bind(&CryptohomeClientImpl::OnDataMethod, 666 base::Bind(&CryptohomeClientImpl::OnDataMethod,
667 weak_ptr_factory_.GetWeakPtr(), 667 weak_ptr_factory_.GetWeakPtr(),
668 callback)); 668 callback));
669 } 669 }
670 670
671 // CryptohomeClient override. 671 // CryptohomeClient override.
672 virtual void TpmAttestationSetKeyPayload( 672 virtual void TpmAttestationSetKeyPayload(
673 attestation::AttestationKeyType key_type, 673 attestation::AttestationKeyType key_type,
674 const std::string& user_id, 674 const std::string& user_id,
675 const std::string& key_name, 675 const std::string& key_name,
676 const std::string& payload, 676 const std::string& payload,
677 const BoolDBusMethodCallback& callback) OVERRIDE { 677 const BoolDBusMethodCallback& callback) override {
678 dbus::MethodCall method_call( 678 dbus::MethodCall method_call(
679 cryptohome::kCryptohomeInterface, 679 cryptohome::kCryptohomeInterface,
680 cryptohome::kCryptohomeTpmAttestationSetKeyPayload); 680 cryptohome::kCryptohomeTpmAttestationSetKeyPayload);
681 dbus::MessageWriter writer(&method_call); 681 dbus::MessageWriter writer(&method_call);
682 bool is_user_specific = (key_type == attestation::KEY_USER); 682 bool is_user_specific = (key_type == attestation::KEY_USER);
683 writer.AppendBool(is_user_specific); 683 writer.AppendBool(is_user_specific);
684 writer.AppendString(user_id); 684 writer.AppendString(user_id);
685 writer.AppendString(key_name); 685 writer.AppendString(key_name);
686 writer.AppendArrayOfBytes(reinterpret_cast<const uint8*>(payload.data()), 686 writer.AppendArrayOfBytes(reinterpret_cast<const uint8*>(payload.data()),
687 payload.size()); 687 payload.size());
688 CallBoolMethod(&method_call, callback); 688 CallBoolMethod(&method_call, callback);
689 } 689 }
690 690
691 // CryptohomeClient override. 691 // CryptohomeClient override.
692 virtual void TpmAttestationDeleteKeys( 692 virtual void TpmAttestationDeleteKeys(
693 attestation::AttestationKeyType key_type, 693 attestation::AttestationKeyType key_type,
694 const std::string& user_id, 694 const std::string& user_id,
695 const std::string& key_prefix, 695 const std::string& key_prefix,
696 const BoolDBusMethodCallback& callback) OVERRIDE { 696 const BoolDBusMethodCallback& callback) override {
697 dbus::MethodCall method_call( 697 dbus::MethodCall method_call(
698 cryptohome::kCryptohomeInterface, 698 cryptohome::kCryptohomeInterface,
699 cryptohome::kCryptohomeTpmAttestationDeleteKeys); 699 cryptohome::kCryptohomeTpmAttestationDeleteKeys);
700 dbus::MessageWriter writer(&method_call); 700 dbus::MessageWriter writer(&method_call);
701 bool is_user_specific = (key_type == attestation::KEY_USER); 701 bool is_user_specific = (key_type == attestation::KEY_USER);
702 writer.AppendBool(is_user_specific); 702 writer.AppendBool(is_user_specific);
703 writer.AppendString(user_id); 703 writer.AppendString(user_id);
704 writer.AppendString(key_prefix); 704 writer.AppendString(key_prefix);
705 CallBoolMethod(&method_call, callback); 705 CallBoolMethod(&method_call, callback);
706 } 706 }
707 707
708 virtual void GetKeyDataEx( 708 virtual void GetKeyDataEx(
709 const cryptohome::AccountIdentifier& id, 709 const cryptohome::AccountIdentifier& id,
710 const cryptohome::AuthorizationRequest& auth, 710 const cryptohome::AuthorizationRequest& auth,
711 const cryptohome::GetKeyDataRequest& request, 711 const cryptohome::GetKeyDataRequest& request,
712 const ProtobufMethodCallback& callback) OVERRIDE { 712 const ProtobufMethodCallback& callback) override {
713 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface, 713 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface,
714 cryptohome::kCryptohomeGetKeyDataEx); 714 cryptohome::kCryptohomeGetKeyDataEx);
715 dbus::MessageWriter writer(&method_call); 715 dbus::MessageWriter writer(&method_call);
716 writer.AppendProtoAsArrayOfBytes(id); 716 writer.AppendProtoAsArrayOfBytes(id);
717 writer.AppendProtoAsArrayOfBytes(auth); 717 writer.AppendProtoAsArrayOfBytes(auth);
718 writer.AppendProtoAsArrayOfBytes(request); 718 writer.AppendProtoAsArrayOfBytes(request);
719 719
720 proxy_->CallMethod(&method_call, 720 proxy_->CallMethod(&method_call,
721 kTpmDBusTimeoutMs, 721 kTpmDBusTimeoutMs,
722 base::Bind(&CryptohomeClientImpl::OnBaseReplyMethod, 722 base::Bind(&CryptohomeClientImpl::OnBaseReplyMethod,
723 weak_ptr_factory_.GetWeakPtr(), 723 weak_ptr_factory_.GetWeakPtr(),
724 callback)); 724 callback));
725 } 725 }
726 726
727 virtual void CheckKeyEx( 727 virtual void CheckKeyEx(
728 const cryptohome::AccountIdentifier& id, 728 const cryptohome::AccountIdentifier& id,
729 const cryptohome::AuthorizationRequest& auth, 729 const cryptohome::AuthorizationRequest& auth,
730 const cryptohome::CheckKeyRequest& request, 730 const cryptohome::CheckKeyRequest& request,
731 const ProtobufMethodCallback& callback) OVERRIDE { 731 const ProtobufMethodCallback& callback) override {
732 const char* method_name = cryptohome::kCryptohomeCheckKeyEx; 732 const char* method_name = cryptohome::kCryptohomeCheckKeyEx;
733 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface, 733 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface,
734 method_name); 734 method_name);
735 735
736 dbus::MessageWriter writer(&method_call); 736 dbus::MessageWriter writer(&method_call);
737 writer.AppendProtoAsArrayOfBytes(id); 737 writer.AppendProtoAsArrayOfBytes(id);
738 writer.AppendProtoAsArrayOfBytes(auth); 738 writer.AppendProtoAsArrayOfBytes(auth);
739 writer.AppendProtoAsArrayOfBytes(request); 739 writer.AppendProtoAsArrayOfBytes(request);
740 740
741 proxy_->CallMethod(&method_call, kTpmDBusTimeoutMs , 741 proxy_->CallMethod(&method_call, kTpmDBusTimeoutMs ,
742 base::Bind(&CryptohomeClientImpl::OnBaseReplyMethod, 742 base::Bind(&CryptohomeClientImpl::OnBaseReplyMethod,
743 weak_ptr_factory_.GetWeakPtr(), 743 weak_ptr_factory_.GetWeakPtr(),
744 callback)); 744 callback));
745 } 745 }
746 746
747 virtual void MountEx( 747 virtual void MountEx(
748 const cryptohome::AccountIdentifier& id, 748 const cryptohome::AccountIdentifier& id,
749 const cryptohome::AuthorizationRequest& auth, 749 const cryptohome::AuthorizationRequest& auth,
750 const cryptohome::MountRequest& request, 750 const cryptohome::MountRequest& request,
751 const ProtobufMethodCallback& callback) OVERRIDE { 751 const ProtobufMethodCallback& callback) override {
752 const char* method_name = cryptohome::kCryptohomeMountEx; 752 const char* method_name = cryptohome::kCryptohomeMountEx;
753 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface, 753 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface,
754 method_name); 754 method_name);
755 755
756 dbus::MessageWriter writer(&method_call); 756 dbus::MessageWriter writer(&method_call);
757 writer.AppendProtoAsArrayOfBytes(id); 757 writer.AppendProtoAsArrayOfBytes(id);
758 writer.AppendProtoAsArrayOfBytes(auth); 758 writer.AppendProtoAsArrayOfBytes(auth);
759 writer.AppendProtoAsArrayOfBytes(request); 759 writer.AppendProtoAsArrayOfBytes(request);
760 760
761 proxy_->CallMethod(&method_call, kTpmDBusTimeoutMs , 761 proxy_->CallMethod(&method_call, kTpmDBusTimeoutMs ,
762 base::Bind(&CryptohomeClientImpl::OnBaseReplyMethod, 762 base::Bind(&CryptohomeClientImpl::OnBaseReplyMethod,
763 weak_ptr_factory_.GetWeakPtr(), 763 weak_ptr_factory_.GetWeakPtr(),
764 callback)); 764 callback));
765 } 765 }
766 766
767 virtual void AddKeyEx( 767 virtual void AddKeyEx(
768 const cryptohome::AccountIdentifier& id, 768 const cryptohome::AccountIdentifier& id,
769 const cryptohome::AuthorizationRequest& auth, 769 const cryptohome::AuthorizationRequest& auth,
770 const cryptohome::AddKeyRequest& request, 770 const cryptohome::AddKeyRequest& request,
771 const ProtobufMethodCallback& callback) OVERRIDE { 771 const ProtobufMethodCallback& callback) override {
772 const char* method_name = cryptohome::kCryptohomeAddKeyEx; 772 const char* method_name = cryptohome::kCryptohomeAddKeyEx;
773 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface, 773 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface,
774 method_name); 774 method_name);
775 775
776 dbus::MessageWriter writer(&method_call); 776 dbus::MessageWriter writer(&method_call);
777 writer.AppendProtoAsArrayOfBytes(id); 777 writer.AppendProtoAsArrayOfBytes(id);
778 writer.AppendProtoAsArrayOfBytes(auth); 778 writer.AppendProtoAsArrayOfBytes(auth);
779 writer.AppendProtoAsArrayOfBytes(request); 779 writer.AppendProtoAsArrayOfBytes(request);
780 780
781 proxy_->CallMethod(&method_call, kTpmDBusTimeoutMs, 781 proxy_->CallMethod(&method_call, kTpmDBusTimeoutMs,
782 base::Bind(&CryptohomeClientImpl::OnBaseReplyMethod, 782 base::Bind(&CryptohomeClientImpl::OnBaseReplyMethod,
783 weak_ptr_factory_.GetWeakPtr(), 783 weak_ptr_factory_.GetWeakPtr(),
784 callback)); 784 callback));
785 } 785 }
786 786
787 virtual void UpdateKeyEx( 787 virtual void UpdateKeyEx(
788 const cryptohome::AccountIdentifier& id, 788 const cryptohome::AccountIdentifier& id,
789 const cryptohome::AuthorizationRequest& auth, 789 const cryptohome::AuthorizationRequest& auth,
790 const cryptohome::UpdateKeyRequest& request, 790 const cryptohome::UpdateKeyRequest& request,
791 const ProtobufMethodCallback& callback) OVERRIDE { 791 const ProtobufMethodCallback& callback) override {
792 const char* method_name = cryptohome::kCryptohomeUpdateKeyEx; 792 const char* method_name = cryptohome::kCryptohomeUpdateKeyEx;
793 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface, 793 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface,
794 method_name); 794 method_name);
795 795
796 dbus::MessageWriter writer(&method_call); 796 dbus::MessageWriter writer(&method_call);
797 writer.AppendProtoAsArrayOfBytes(id); 797 writer.AppendProtoAsArrayOfBytes(id);
798 writer.AppendProtoAsArrayOfBytes(auth); 798 writer.AppendProtoAsArrayOfBytes(auth);
799 writer.AppendProtoAsArrayOfBytes(request); 799 writer.AppendProtoAsArrayOfBytes(request);
800 800
801 proxy_->CallMethod(&method_call, 801 proxy_->CallMethod(&method_call,
802 kTpmDBusTimeoutMs , 802 kTpmDBusTimeoutMs ,
803 base::Bind(&CryptohomeClientImpl::OnBaseReplyMethod, 803 base::Bind(&CryptohomeClientImpl::OnBaseReplyMethod,
804 weak_ptr_factory_.GetWeakPtr(), 804 weak_ptr_factory_.GetWeakPtr(),
805 callback)); 805 callback));
806 } 806 }
807 807
808 virtual void RemoveKeyEx(const cryptohome::AccountIdentifier& id, 808 virtual void RemoveKeyEx(const cryptohome::AccountIdentifier& id,
809 const cryptohome::AuthorizationRequest& auth, 809 const cryptohome::AuthorizationRequest& auth,
810 const cryptohome::RemoveKeyRequest& request, 810 const cryptohome::RemoveKeyRequest& request,
811 const ProtobufMethodCallback& callback) OVERRIDE { 811 const ProtobufMethodCallback& callback) override {
812 const char* method_name = cryptohome::kCryptohomeRemoveKeyEx; 812 const char* method_name = cryptohome::kCryptohomeRemoveKeyEx;
813 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface, method_name); 813 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface, method_name);
814 814
815 dbus::MessageWriter writer(&method_call); 815 dbus::MessageWriter writer(&method_call);
816 writer.AppendProtoAsArrayOfBytes(id); 816 writer.AppendProtoAsArrayOfBytes(id);
817 writer.AppendProtoAsArrayOfBytes(auth); 817 writer.AppendProtoAsArrayOfBytes(auth);
818 writer.AppendProtoAsArrayOfBytes(request); 818 writer.AppendProtoAsArrayOfBytes(request);
819 819
820 proxy_->CallMethod(&method_call, 820 proxy_->CallMethod(&method_call,
821 kTpmDBusTimeoutMs , 821 kTpmDBusTimeoutMs ,
822 base::Bind(&CryptohomeClientImpl::OnBaseReplyMethod, 822 base::Bind(&CryptohomeClientImpl::OnBaseReplyMethod,
823 weak_ptr_factory_.GetWeakPtr(), 823 weak_ptr_factory_.GetWeakPtr(),
824 callback)); 824 callback));
825 } 825 }
826 826
827 virtual void GetBootAttribute( 827 virtual void GetBootAttribute(
828 const cryptohome::GetBootAttributeRequest& request, 828 const cryptohome::GetBootAttributeRequest& request,
829 const ProtobufMethodCallback& callback) OVERRIDE { 829 const ProtobufMethodCallback& callback) override {
830 const char* method_name = cryptohome::kCryptohomeGetBootAttribute; 830 const char* method_name = cryptohome::kCryptohomeGetBootAttribute;
831 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface, method_name); 831 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface, method_name);
832 832
833 dbus::MessageWriter writer(&method_call); 833 dbus::MessageWriter writer(&method_call);
834 writer.AppendProtoAsArrayOfBytes(request); 834 writer.AppendProtoAsArrayOfBytes(request);
835 835
836 proxy_->CallMethod(&method_call, 836 proxy_->CallMethod(&method_call,
837 kTpmDBusTimeoutMs , 837 kTpmDBusTimeoutMs ,
838 base::Bind(&CryptohomeClientImpl::OnBaseReplyMethod, 838 base::Bind(&CryptohomeClientImpl::OnBaseReplyMethod,
839 weak_ptr_factory_.GetWeakPtr(), 839 weak_ptr_factory_.GetWeakPtr(),
840 callback)); 840 callback));
841 } 841 }
842 842
843 virtual void SetBootAttribute( 843 virtual void SetBootAttribute(
844 const cryptohome::SetBootAttributeRequest& request, 844 const cryptohome::SetBootAttributeRequest& request,
845 const ProtobufMethodCallback& callback) OVERRIDE { 845 const ProtobufMethodCallback& callback) override {
846 const char* method_name = cryptohome::kCryptohomeSetBootAttribute; 846 const char* method_name = cryptohome::kCryptohomeSetBootAttribute;
847 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface, method_name); 847 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface, method_name);
848 848
849 dbus::MessageWriter writer(&method_call); 849 dbus::MessageWriter writer(&method_call);
850 writer.AppendProtoAsArrayOfBytes(request); 850 writer.AppendProtoAsArrayOfBytes(request);
851 851
852 proxy_->CallMethod(&method_call, 852 proxy_->CallMethod(&method_call,
853 kTpmDBusTimeoutMs , 853 kTpmDBusTimeoutMs ,
854 base::Bind(&CryptohomeClientImpl::OnBaseReplyMethod, 854 base::Bind(&CryptohomeClientImpl::OnBaseReplyMethod,
855 weak_ptr_factory_.GetWeakPtr(), 855 weak_ptr_factory_.GetWeakPtr(),
856 callback)); 856 callback));
857 } 857 }
858 858
859 virtual void FlushAndSignBootAttributes( 859 virtual void FlushAndSignBootAttributes(
860 const cryptohome::FlushAndSignBootAttributesRequest& request, 860 const cryptohome::FlushAndSignBootAttributesRequest& request,
861 const ProtobufMethodCallback& callback) OVERRIDE { 861 const ProtobufMethodCallback& callback) override {
862 const char* method_name = cryptohome::kCryptohomeFlushAndSignBootAttributes; 862 const char* method_name = cryptohome::kCryptohomeFlushAndSignBootAttributes;
863 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface, method_name); 863 dbus::MethodCall method_call(cryptohome::kCryptohomeInterface, method_name);
864 864
865 dbus::MessageWriter writer(&method_call); 865 dbus::MessageWriter writer(&method_call);
866 writer.AppendProtoAsArrayOfBytes(request); 866 writer.AppendProtoAsArrayOfBytes(request);
867 867
868 proxy_->CallMethod(&method_call, 868 proxy_->CallMethod(&method_call,
869 kTpmDBusTimeoutMs , 869 kTpmDBusTimeoutMs ,
870 base::Bind(&CryptohomeClientImpl::OnBaseReplyMethod, 870 base::Bind(&CryptohomeClientImpl::OnBaseReplyMethod,
871 weak_ptr_factory_.GetWeakPtr(), 871 weak_ptr_factory_.GetWeakPtr(),
872 callback)); 872 callback));
873 } 873 }
874 874
875 protected: 875 protected:
876 virtual void Init(dbus::Bus* bus) OVERRIDE { 876 virtual void Init(dbus::Bus* bus) override {
877 proxy_ = bus->GetObjectProxy( 877 proxy_ = bus->GetObjectProxy(
878 cryptohome::kCryptohomeServiceName, 878 cryptohome::kCryptohomeServiceName,
879 dbus::ObjectPath(cryptohome::kCryptohomeServicePath)); 879 dbus::ObjectPath(cryptohome::kCryptohomeServicePath));
880 880
881 blocking_method_caller_.reset(new BlockingMethodCaller(bus, proxy_)); 881 blocking_method_caller_.reset(new BlockingMethodCaller(bus, proxy_));
882 882
883 proxy_->ConnectToSignal(cryptohome::kCryptohomeInterface, 883 proxy_->ConnectToSignal(cryptohome::kCryptohomeInterface,
884 cryptohome::kSignalAsyncCallStatus, 884 cryptohome::kSignalAsyncCallStatus,
885 base::Bind(&CryptohomeClientImpl::OnAsyncCallStatus, 885 base::Bind(&CryptohomeClientImpl::OnAsyncCallStatus,
886 weak_ptr_factory_.GetWeakPtr()), 886 weak_ptr_factory_.GetWeakPtr()),
(...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after
1146 return new CryptohomeClientImpl(); 1146 return new CryptohomeClientImpl();
1147 } 1147 }
1148 1148
1149 // static 1149 // static
1150 std::string CryptohomeClient::GetStubSanitizedUsername( 1150 std::string CryptohomeClient::GetStubSanitizedUsername(
1151 const std::string& username) { 1151 const std::string& username) {
1152 return username + kUserIdStubHashSuffix; 1152 return username + kUserIdStubHashSuffix;
1153 } 1153 }
1154 1154
1155 } // namespace chromeos 1155 } // namespace chromeos
OLDNEW
« no previous file with comments | « chromeos/dbus/cros_disks_client.cc ('k') | chromeos/dbus/debug_daemon_client.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698