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 #ifndef CHROME_BROWSER_PASSWORD_MANAGER_NATIVE_BACKEND_KWALLET_X_H_ | 5 #ifndef CHROME_BROWSER_PASSWORD_MANAGER_NATIVE_BACKEND_KWALLET_X_H_ |
6 #define CHROME_BROWSER_PASSWORD_MANAGER_NATIVE_BACKEND_KWALLET_X_H_ | 6 #define CHROME_BROWSER_PASSWORD_MANAGER_NATIVE_BACKEND_KWALLET_X_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
11 #include "base/compiler_specific.h" | 11 #include "base/compiler_specific.h" |
12 #include "base/memory/ref_counted.h" | 12 #include "base/memory/ref_counted.h" |
13 #include "base/memory/scoped_vector.h" | 13 #include "base/memory/scoped_vector.h" |
14 #include "base/time/time.h" | 14 #include "base/time/time.h" |
15 #include "chrome/browser/password_manager/password_store_factory.h" | 15 #include "chrome/browser/password_manager/password_store_factory.h" |
16 #include "chrome/browser/password_manager/password_store_x.h" | 16 #include "chrome/browser/password_manager/password_store_x.h" |
17 #include "chrome/browser/profiles/profile.h" | 17 #include "chrome/browser/profiles/profile.h" |
18 | 18 |
19 class Pickle; | |
20 class PickleIterator; | |
21 | |
22 namespace autofill { | 19 namespace autofill { |
23 struct PasswordForm; | 20 struct PasswordForm; |
24 } | 21 } |
25 | 22 |
26 namespace base { | 23 namespace base { |
| 24 class Pickle; |
| 25 class PickleIterator; |
27 class WaitableEvent; | 26 class WaitableEvent; |
28 } | 27 } |
29 | 28 |
30 namespace dbus { | 29 namespace dbus { |
31 class Bus; | 30 class Bus; |
32 class ObjectProxy; | 31 class ObjectProxy; |
33 } | 32 } |
34 | 33 |
35 // NativeBackend implementation using KWallet. | 34 // NativeBackend implementation using KWallet. |
36 class NativeBackendKWallet : public PasswordStoreX::NativeBackend { | 35 class NativeBackendKWallet : public PasswordStoreX::NativeBackend { |
(...skipping 27 matching lines...) Expand all Loading... |
64 protected: | 63 protected: |
65 // Invalid handle returned by WalletHandle(). | 64 // Invalid handle returned by WalletHandle(). |
66 static const int kInvalidKWalletHandle = -1; | 65 static const int kInvalidKWalletHandle = -1; |
67 | 66 |
68 // Internally used by Init(), but also for testing to provide a mock bus. | 67 // Internally used by Init(), but also for testing to provide a mock bus. |
69 bool InitWithBus(scoped_refptr<dbus::Bus> optional_bus); | 68 bool InitWithBus(scoped_refptr<dbus::Bus> optional_bus); |
70 | 69 |
71 // Deserializes a list of PasswordForms from the wallet. | 70 // Deserializes a list of PasswordForms from the wallet. |
72 static ScopedVector<autofill::PasswordForm> DeserializeValue( | 71 static ScopedVector<autofill::PasswordForm> DeserializeValue( |
73 const std::string& signon_realm, | 72 const std::string& signon_realm, |
74 const Pickle& pickle); | 73 const base::Pickle& pickle); |
75 | 74 |
76 private: | 75 private: |
77 enum InitResult { | 76 enum InitResult { |
78 INIT_SUCCESS, // Init succeeded. | 77 INIT_SUCCESS, // Init succeeded. |
79 TEMPORARY_FAIL, // Init failed, but might succeed after StartKWalletd(). | 78 TEMPORARY_FAIL, // Init failed, but might succeed after StartKWalletd(). |
80 PERMANENT_FAIL // Init failed, and is not likely to work later either. | 79 PERMANENT_FAIL // Init failed, and is not likely to work later either. |
81 }; | 80 }; |
82 | 81 |
83 enum TimestampToCompare { | 82 enum TimestampToCompare { |
84 CREATION_TIMESTAMP, | 83 CREATION_TIMESTAMP, |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
147 | 146 |
148 // The name of the wallet we've opened. Set during Init(). | 147 // The name of the wallet we've opened. Set during Init(). |
149 std::string wallet_name_; | 148 std::string wallet_name_; |
150 // The application name (e.g. "Chromium"), shown in KWallet auth dialogs. | 149 // The application name (e.g. "Chromium"), shown in KWallet auth dialogs. |
151 const std::string app_name_; | 150 const std::string app_name_; |
152 | 151 |
153 DISALLOW_COPY_AND_ASSIGN(NativeBackendKWallet); | 152 DISALLOW_COPY_AND_ASSIGN(NativeBackendKWallet); |
154 }; | 153 }; |
155 | 154 |
156 #endif // CHROME_BROWSER_PASSWORD_MANAGER_NATIVE_BACKEND_KWALLET_X_H_ | 155 #endif // CHROME_BROWSER_PASSWORD_MANAGER_NATIVE_BACKEND_KWALLET_X_H_ |
OLD | NEW |