Index: chrome/browser/password_manager/native_backend_kwallet_x.h |
=================================================================== |
--- chrome/browser/password_manager/native_backend_kwallet_x.h (revision 49824) |
+++ chrome/browser/password_manager/native_backend_kwallet_x.h (working copy) |
@@ -2,72 +2,75 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#ifndef CHROME_BROWSER_PASSWORD_MANAGER_PASSWORD_STORE_KWALLET_H_ |
-#define CHROME_BROWSER_PASSWORD_MANAGER_PASSWORD_STORE_KWALLET_H_ |
+#ifndef CHROME_BROWSER_PASSWORD_MANAGER_NATIVE_BACKEND_KWALLET_X_H_ |
+#define CHROME_BROWSER_PASSWORD_MANAGER_NATIVE_BACKEND_KWALLET_X_H_ |
#include <dbus/dbus-glib.h> |
#include <glib.h> |
#include <string> |
-#include <vector> |
-#include "base/lock.h" |
-#include "chrome/browser/password_manager/login_database.h" |
-#include "chrome/browser/password_manager/password_store.h" |
-#include "chrome/browser/webdata/web_data_service.h" |
+#include "base/basictypes.h" |
+#include "base/time.h" |
+#include "chrome/browser/password_manager/password_store_x.h" |
#include "webkit/glue/password_form.h" |
class Pickle; |
-class Profile; |
-class Task; |
-class PasswordStoreKWallet : public PasswordStore { |
+// NativeBackend implementation using KWallet. |
+class NativeBackendKWallet : public PasswordStoreX::NativeBackend { |
public: |
- PasswordStoreKWallet(LoginDatabase* login_db, |
- Profile* profile, |
- WebDataService* web_data_service); |
+ NativeBackendKWallet(); |
- bool Init(); |
+ virtual ~NativeBackendKWallet(); |
- private: |
- typedef std::vector<webkit_glue::PasswordForm*> PasswordFormList; |
+ virtual bool Init(); |
- virtual ~PasswordStoreKWallet(); |
+ // Implements NativeBackend interface. |
+ virtual bool AddLogin(const webkit_glue::PasswordForm& form); |
+ virtual bool UpdateLogin(const webkit_glue::PasswordForm& form); |
+ virtual bool RemoveLogin(const webkit_glue::PasswordForm& form); |
+ virtual bool RemoveLoginsCreatedBetween(const base::Time& delete_begin, |
+ const base::Time& delete_end); |
+ virtual bool GetLogins(const webkit_glue::PasswordForm& form, |
+ PasswordFormList* forms); |
+ virtual bool GetLoginsCreatedBetween(const base::Time& delete_begin, |
+ const base::Time& delete_end, |
+ PasswordFormList* forms); |
+ virtual bool GetAutofillableLogins(PasswordFormList* forms); |
+ virtual bool GetBlacklistLogins(PasswordFormList* forms); |
- // Implements PasswordStore interface. |
- virtual void AddLoginImpl(const webkit_glue::PasswordForm& form); |
- virtual void UpdateLoginImpl(const webkit_glue::PasswordForm& form); |
- virtual void RemoveLoginImpl(const webkit_glue::PasswordForm& form); |
- virtual void RemoveLoginsCreatedBetweenImpl(const base::Time& delete_begin, |
- const base::Time& delete_end); |
- virtual void GetLoginsImpl(GetLoginsRequest* request, |
- const webkit_glue::PasswordForm& form); |
- virtual void GetAutofillableLoginsImpl(GetLoginsRequest* request); |
- virtual void GetBlacklistLoginsImpl(GetLoginsRequest* request); |
- virtual bool FillAutofillableLogins( |
- std::vector<webkit_glue::PasswordForm*>* forms); |
- virtual bool FillBlacklistLogins( |
- std::vector<webkit_glue::PasswordForm*>* forms); |
- |
+ private: |
// Initialization. |
bool StartKWalletd(); |
bool InitWallet(); |
- // Reads a list of PasswordForms from the wallet that match the signon_realm. |
- void GetLoginsList(PasswordFormList* forms, |
+ // Reads PasswordForms from the wallet that match the given signon_realm. |
+ bool GetLoginsList(PasswordFormList* forms, |
const std::string& signon_realm, |
int wallet_handle); |
+ // Reads PasswordForms from the wallet with the given autofillability state. |
+ bool GetLoginsList(PasswordFormList* forms, |
+ bool autofillable, |
+ int wallet_handle); |
+ |
+ // Reads PasswordForms from the wallet created in the given time range. |
+ bool GetLoginsList(PasswordFormList* forms, |
+ const base::Time& begin, |
+ const base::Time& end, |
+ int wallet_handle); |
+ |
+ // Helper for some of the above GetLoginsList() methods. |
+ bool GetAllLogins(PasswordFormList* forms, int wallet_handle); |
+ |
// Writes a list of PasswordForms to the wallet with the given signon_realm. |
// Overwrites any existing list for this signon_realm. Removes the entry if |
- // |forms| is empty. |
- void SetLoginsList(const PasswordFormList& forms, |
+ // |forms| is empty. Returns true on success. |
+ bool SetLoginsList(const PasswordFormList& forms, |
const std::string& signon_realm, |
int wallet_handle); |
- // Helper for FillAutofillableLogins() and FillBlacklistLogins(). |
- bool FillSomeLogins(bool autofillable, PasswordFormList* forms); |
- |
// Checks if the last DBus call returned an error. If it did, logs the error |
// message, frees it and returns true. |
// This must be called after every DBus call. |
@@ -117,9 +120,6 @@ |
// Invalid handle returned by WalletHandle(). |
static const int kInvalidKWalletHandle = -1; |
- // Controls all access to kwallet DBus calls. |
- Lock kwallet_lock_; |
- |
// Error from the last DBus call. NULL when there's no error. Freed and |
// cleared by CheckError(). |
GError* error_; |
@@ -131,7 +131,7 @@ |
// The name of the wallet we've opened. Set during Init(). |
std::string wallet_name_; |
- DISALLOW_COPY_AND_ASSIGN(PasswordStoreKWallet); |
+ DISALLOW_COPY_AND_ASSIGN(NativeBackendKWallet); |
}; |
-#endif // CHROME_BROWSER_PASSWORD_MANAGER_PASSWORD_STORE_KWALLET_H_ |
+#endif // CHROME_BROWSER_PASSWORD_MANAGER_NATIVE_BACKEND_KWALLET_X_H_ |