OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 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 | 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 COMPONENTS_AUTOFILL_CORE_BROWSER_CREDIT_CARD_H_ | 5 #ifndef COMPONENTS_AUTOFILL_CORE_BROWSER_CREDIT_CARD_H_ |
6 #define COMPONENTS_AUTOFILL_CORE_BROWSER_CREDIT_CARD_H_ | 6 #define COMPONENTS_AUTOFILL_CORE_BROWSER_CREDIT_CARD_H_ |
7 | 7 |
8 #include <iosfwd> | 8 #include <iosfwd> |
9 #include <string> | 9 #include <string> |
10 #include <vector> | 10 #include <vector> |
(...skipping 19 matching lines...) Expand all Loading... |
30 // A card from Wallet with full information. This card is not locally | 30 // A card from Wallet with full information. This card is not locally |
31 // editable. | 31 // editable. |
32 FULL_WALLET_CARD, | 32 FULL_WALLET_CARD, |
33 }; | 33 }; |
34 | 34 |
35 CreditCard(const std::string& guid, const std::string& origin); | 35 CreditCard(const std::string& guid, const std::string& origin); |
36 CreditCard(const base::string16& card_number, | 36 CreditCard(const base::string16& card_number, |
37 int expiration_month, | 37 int expiration_month, |
38 int expiration_year); | 38 int expiration_year); |
39 | 39 |
| 40 // Creates a wallet card. This sets the wallet-specific records. To set the |
| 41 // rest, use SetRawInfo like a normal card. |
| 42 CreditCard(const std::string& wallet_id, RecordType type); |
| 43 |
40 // For use in STL containers. | 44 // For use in STL containers. |
41 CreditCard(); | 45 CreditCard(); |
42 CreditCard(const CreditCard& credit_card); | 46 CreditCard(const CreditCard& credit_card); |
43 ~CreditCard() override; | 47 ~CreditCard() override; |
44 | 48 |
45 // Returns a version of |number| that has any separator characters removed. | 49 // Returns a version of |number| that has any separator characters removed. |
46 static const base::string16 StripSeparators(const base::string16& number); | 50 static const base::string16 StripSeparators(const base::string16& number); |
47 | 51 |
48 // The user-visible type of the card, e.g. 'Mastercard'. | 52 // The user-visible type of the card, e.g. 'Mastercard'. |
49 static base::string16 TypeForDisplay(const std::string& type); | 53 static base::string16 TypeForDisplay(const std::string& type); |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
90 // The user-visible type of the card, e.g. 'Mastercard'. | 94 // The user-visible type of the card, e.g. 'Mastercard'. |
91 base::string16 TypeForDisplay() const; | 95 base::string16 TypeForDisplay() const; |
92 // A label for this credit card formatted as 'Cardname - 2345'. | 96 // A label for this credit card formatted as 'Cardname - 2345'. |
93 base::string16 TypeAndLastFourDigits() const; | 97 base::string16 TypeAndLastFourDigits() const; |
94 | 98 |
95 const std::string& type() const { return type_; } | 99 const std::string& type() const { return type_; } |
96 | 100 |
97 int expiration_month() const { return expiration_month_; } | 101 int expiration_month() const { return expiration_month_; } |
98 int expiration_year() const { return expiration_year_; } | 102 int expiration_year() const { return expiration_year_; } |
99 | 103 |
| 104 const std::string& wallet_id() const { return wallet_id_; } |
| 105 |
100 // For use in STL containers. | 106 // For use in STL containers. |
101 void operator=(const CreditCard& credit_card); | 107 void operator=(const CreditCard& credit_card); |
102 | 108 |
103 // If the card numbers for |this| and |imported_card| match, and merging the | 109 // If the card numbers for |this| and |imported_card| match, and merging the |
104 // two wouldn't result in unverified data overwriting verified data, | 110 // two wouldn't result in unverified data overwriting verified data, |
105 // overwrites |this| card's data with the data in |credit_card|. | 111 // overwrites |this| card's data with the data in |credit_card|. |
106 // Returns true if the card numbers match, false otherwise. | 112 // Returns true if the card numbers match, false otherwise. |
107 bool UpdateFromImportedCard(const CreditCard& imported_card, | 113 bool UpdateFromImportedCard(const CreditCard& imported_card, |
108 const std::string& app_locale) WARN_UNUSED_RESULT; | 114 const std::string& app_locale) WARN_UNUSED_RESULT; |
109 | 115 |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
173 | 179 |
174 // The cardholder's name. May be empty. | 180 // The cardholder's name. May be empty. |
175 base::string16 name_on_card_; | 181 base::string16 name_on_card_; |
176 | 182 |
177 // The type of the card. This is one of the k...Card constants below. | 183 // The type of the card. This is one of the k...Card constants below. |
178 std::string type_; | 184 std::string type_; |
179 | 185 |
180 // These members are zero if not present. | 186 // These members are zero if not present. |
181 int expiration_month_; | 187 int expiration_month_; |
182 int expiration_year_; | 188 int expiration_year_; |
| 189 |
| 190 // For wallet cards (both MASKED and UNMASKED) this is the ID assigned by the |
| 191 // server to uniquely identify this card. |
| 192 std::string wallet_id_; |
183 }; | 193 }; |
184 | 194 |
185 // So we can compare CreditCards with EXPECT_EQ(). | 195 // So we can compare CreditCards with EXPECT_EQ(). |
186 std::ostream& operator<<(std::ostream& os, const CreditCard& credit_card); | 196 std::ostream& operator<<(std::ostream& os, const CreditCard& credit_card); |
187 | 197 |
188 // The string identifiers for credit card icon resources. | 198 // The string identifiers for credit card icon resources. |
189 extern const char* const kAmericanExpressCard; | 199 extern const char* const kAmericanExpressCard; |
190 extern const char* const kDinersCard; | 200 extern const char* const kDinersCard; |
191 extern const char* const kDiscoverCard; | 201 extern const char* const kDiscoverCard; |
192 extern const char* const kGenericCard; | 202 extern const char* const kGenericCard; |
193 extern const char* const kJCBCard; | 203 extern const char* const kJCBCard; |
194 extern const char* const kMasterCard; | 204 extern const char* const kMasterCard; |
195 extern const char* const kUnionPay; | 205 extern const char* const kUnionPay; |
196 extern const char* const kVisaCard; | 206 extern const char* const kVisaCard; |
197 | 207 |
198 } // namespace autofill | 208 } // namespace autofill |
199 | 209 |
200 #endif // COMPONENTS_AUTOFILL_CORE_BROWSER_CREDIT_CARD_H_ | 210 #endif // COMPONENTS_AUTOFILL_CORE_BROWSER_CREDIT_CARD_H_ |
OLD | NEW |