Home | History | Annotate | Download | only in wallet
      1 // Copyright 2013 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #ifndef COMPONENTS_AUTOFILL_CONTENT_BROWSER_WALLET_GAIA_ACCOUNTS_H_
      6 #define COMPONENTS_AUTOFILL_CONTENT_BROWSER_WALLET_GAIA_ACCOUNTS_H_
      7 
      8 #include <string>
      9 
     10 #include "base/memory/scoped_ptr.h"
     11 
     12 namespace base {
     13 class DictionaryValue;
     14 }
     15 
     16 namespace autofill {
     17 namespace wallet {
     18 
     19 class GaiaAccount {
     20  public:
     21   ~GaiaAccount();
     22 
     23   // Returns an empty scoped_ptr if input is invalid, otherwise a valid GAIA
     24   // account.
     25   static scoped_ptr<GaiaAccount> Create(
     26       const base::DictionaryValue& dictionary);
     27 
     28   static scoped_ptr<GaiaAccount> CreateForTesting(
     29       const std::string& email_address,
     30       const std::string& obfuscated_id,
     31       size_t index,
     32       bool is_active);
     33 
     34   bool operator==(const GaiaAccount& other) const;
     35   bool operator!=(const GaiaAccount& other) const;
     36 
     37   const std::string& email_address() const { return email_address_; }
     38   const std::string& obfuscated_id() const { return obfuscated_id_; }
     39   size_t index() const { return index_; }
     40   bool is_active() const { return is_active_; }
     41 
     42  private:
     43   GaiaAccount(const std::string& email_address,
     44               const std::string& obfuscated_id,
     45               size_t index,
     46               bool is_active);
     47 
     48   std::string email_address_;
     49   std::string obfuscated_id_;
     50   size_t index_;
     51   bool is_active_;
     52 
     53   DISALLOW_COPY_AND_ASSIGN(GaiaAccount);
     54 };
     55 
     56 }  // namespace wallet
     57 }  // namespace autofill
     58 
     59 #endif  // COMPONENTS_AUTOFILL_CONTENT_BROWSER_WALLET_GAIA_ACCOUNTS_H_
     60