Index: chrome/browser/autofill/wallet/full_wallet.h |
diff --git a/chrome/browser/autofill/wallet/full_wallet.h b/chrome/browser/autofill/wallet/full_wallet.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..c6334475c3952db571967ffaed41e5d84c7d0497 |
--- /dev/null |
+++ b/chrome/browser/autofill/wallet/full_wallet.h |
@@ -0,0 +1,63 @@ |
+// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef CHROME_BROWSER_AUTOFILL_WALLET_FULL_WALLET_H_ |
+#define CHROME_BROWSER_AUTOFILL_WALLET_FULL_WALLET_H_ |
+ |
+#include <ostream> |
+#include <string> |
+#include <vector> |
+ |
+#include "base/basictypes.h" |
+#include "base/memory/scoped_ptr.h" |
+#include "chrome/browser/autofill/wallet/wallet_address.h" |
+ |
+namespace base { |
+class DictionaryValue; |
+} |
+ |
+namespace wallet { |
+ |
+class FullWallet { |
+ friend std::ostream& operator<<(std::ostream& o, |
+ const FullWallet& full_wallet); |
+ public: |
+ FullWallet(int expiration_month, |
+ int expiration_year, |
+ const std::string& iin, |
+ const std::string& rest, |
+ Address* billing_address, |
+ Address* shipping_address, |
+ const std::vector<std::string> required_actions); |
+ ~FullWallet(); |
+ static scoped_ptr<FullWallet> FromDictionary( |
+ base::DictionaryValue* dictionary); |
+ // TODO(ahutter): Should this be int64 |
+ const std::string GetPAN(long otp) const; |
+ const std::string GetCVN(long otp) const; |
+ bool operator==(const FullWallet& other) const; |
+ bool operator!=(const FullWallet& other) const; |
+ |
+ const Address* GetBillingAddress() const { return billing_address_.get(); } |
+ const Address* GetShippingAddress() const { return shipping_address_.get(); } |
+ const std::vector<std::string> GetRequiredActions() const { |
+ return required_actions_; |
+ } |
+ const int GetExpirationMonth() const { return expiration_month_; } |
+ const int GetExpirationYear() const { return expiration_year_; } |
+ |
+ private: |
+ int expiration_month_; |
+ int expiration_year_; |
+ std::string iin_; |
+ std::string rest_; |
+ scoped_ptr<Address> billing_address_; |
+ scoped_ptr<Address> shipping_address_; |
+ std::vector<std::string> required_actions_; |
+ DISALLOW_COPY_AND_ASSIGN(FullWallet); |
+}; |
+ |
+} // end namespace wallet |
+ |
+#endif // CHROME_BROWSER_AUTOFILL_WALLET_FULL_WALLET_H_ |