OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "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/cryptohome/async_method_caller.h" | 9 #include "chromeos/cryptohome/async_method_caller.h" |
10 #include "chromeos/dbus/blocking_method_caller.h" | 10 #include "chromeos/dbus/blocking_method_caller.h" |
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
126 return false; | 126 return false; |
127 dbus::MessageReader reader(response.get()); | 127 dbus::MessageReader reader(response.get()); |
128 uint8* bytes = NULL; | 128 uint8* bytes = NULL; |
129 size_t length = 0; | 129 size_t length = 0; |
130 if (!reader.PopArrayOfBytes(&bytes, &length)) | 130 if (!reader.PopArrayOfBytes(&bytes, &length)) |
131 return false; | 131 return false; |
132 salt->assign(bytes, bytes + length); | 132 salt->assign(bytes, bytes + length); |
133 return true; | 133 return true; |
134 } | 134 } |
135 | 135 |
| 136 // CryptohomeClient override, |
| 137 virtual void GetSanitizedUsername( |
| 138 const std::string& username, |
| 139 const StringDBusMethodCallback& callback) OVERRIDE { |
| 140 INITIALIZE_METHOD_CALL(method_call, |
| 141 cryptohome::kCryptohomeGetSanitizedUsername); |
| 142 dbus::MessageWriter writer(&method_call); |
| 143 writer.AppendString(username); |
| 144 proxy_->CallMethod(&method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, |
| 145 base::Bind(&CryptohomeClientImpl::OnStringMethod, |
| 146 weak_ptr_factory_.GetWeakPtr(), |
| 147 callback)); |
| 148 } |
| 149 |
136 // CryptohomeClient override. | 150 // CryptohomeClient override. |
137 virtual void AsyncMount(const std::string& username, | 151 virtual void AsyncMount(const std::string& username, |
138 const std::string& key, | 152 const std::string& key, |
139 int flags, | 153 int flags, |
140 const AsyncMethodCallback& callback) OVERRIDE { | 154 const AsyncMethodCallback& callback) OVERRIDE { |
141 INITIALIZE_METHOD_CALL(method_call, cryptohome::kCryptohomeAsyncMount); | 155 INITIALIZE_METHOD_CALL(method_call, cryptohome::kCryptohomeAsyncMount); |
142 dbus::MessageWriter writer(&method_call); | 156 dbus::MessageWriter writer(&method_call); |
143 writer.AppendString(username); | 157 writer.AppendString(username); |
144 writer.AppendString(key); | 158 writer.AppendString(key); |
145 writer.AppendBool(flags & cryptohome::CREATE_IF_MISSING); | 159 writer.AppendBool(flags & cryptohome::CREATE_IF_MISSING); |
(...skipping 457 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
603 | 617 |
604 // CryptohomeClient override. | 618 // CryptohomeClient override. |
605 virtual bool GetSystemSalt(std::vector<uint8>* salt) OVERRIDE { | 619 virtual bool GetSystemSalt(std::vector<uint8>* salt) OVERRIDE { |
606 const char kStubSystemSalt[] = "stub_system_salt"; | 620 const char kStubSystemSalt[] = "stub_system_salt"; |
607 salt->assign(kStubSystemSalt, | 621 salt->assign(kStubSystemSalt, |
608 kStubSystemSalt + arraysize(kStubSystemSalt)); | 622 kStubSystemSalt + arraysize(kStubSystemSalt)); |
609 return true; | 623 return true; |
610 } | 624 } |
611 | 625 |
612 // CryptohomeClient override. | 626 // CryptohomeClient override. |
| 627 virtual void GetSanitizedUsername( |
| 628 const std::string& username, |
| 629 const StringDBusMethodCallback& callback) OVERRIDE { |
| 630 const char kStubSanitizedUsername[] = |
| 631 "0123456789ABCDEF0123456789ABCDEF01234567"; |
| 632 MessageLoop::current()->PostTask( |
| 633 FROM_HERE, |
| 634 base::Bind(callback, DBUS_METHOD_CALL_SUCCESS, kStubSanitizedUsername)); |
| 635 } |
| 636 |
| 637 // CryptohomeClient override. |
613 virtual void AsyncMount(const std::string& username, | 638 virtual void AsyncMount(const std::string& username, |
614 const std::string& key, | 639 const std::string& key, |
615 int flags, | 640 int flags, |
616 const AsyncMethodCallback& callback) OVERRIDE { | 641 const AsyncMethodCallback& callback) OVERRIDE { |
617 ReturnAsyncMethodResult(callback, false); | 642 ReturnAsyncMethodResult(callback, false); |
618 } | 643 } |
619 | 644 |
620 // CryptohomeClient override. | 645 // CryptohomeClient override. |
621 virtual void AsyncMountGuest(const AsyncMethodCallback& callback) OVERRIDE { | 646 virtual void AsyncMountGuest(const AsyncMethodCallback& callback) OVERRIDE { |
622 ReturnAsyncMethodResult(callback, false); | 647 ReturnAsyncMethodResult(callback, false); |
(...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
835 // static | 860 // static |
836 CryptohomeClient* CryptohomeClient::Create(DBusClientImplementationType type, | 861 CryptohomeClient* CryptohomeClient::Create(DBusClientImplementationType type, |
837 dbus::Bus* bus) { | 862 dbus::Bus* bus) { |
838 if (type == REAL_DBUS_CLIENT_IMPLEMENTATION) | 863 if (type == REAL_DBUS_CLIENT_IMPLEMENTATION) |
839 return new CryptohomeClientImpl(bus); | 864 return new CryptohomeClientImpl(bus); |
840 DCHECK_EQ(STUB_DBUS_CLIENT_IMPLEMENTATION, type); | 865 DCHECK_EQ(STUB_DBUS_CLIENT_IMPLEMENTATION, type); |
841 return new CryptohomeClientStubImpl(); | 866 return new CryptohomeClientStubImpl(); |
842 } | 867 } |
843 | 868 |
844 } // namespace chromeos | 869 } // namespace chromeos |
OLD | NEW |