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_REQUIRED_ACTION_H_ 6 #define COMPONENTS_AUTOFILL_CONTENT_BROWSER_WALLET_REQUIRED_ACTION_H_ 7 8 #include <string> 9 10 namespace autofill { 11 namespace wallet { 12 13 // Required actions are steps that must be taken before the current transaction 14 // can proceed. Examples of this is include accepting the Terms of Service to 15 // use Google Wallet (happens on first use or when the ToS are updated) or 16 // typing a CVC when it's necessary verify the current user has access to the 17 // backing card. 18 enum RequiredAction { 19 UNKNOWN_TYPE = 0, // Catch all type. 20 CHOOSE_ANOTHER_INSTRUMENT_OR_ADDRESS, 21 SETUP_WALLET, 22 ACCEPT_TOS, 23 GAIA_AUTH, 24 UPDATE_EXPIRATION_DATE, 25 UPGRADE_MIN_ADDRESS, 26 INVALID_FORM_FIELD, 27 VERIFY_CVV, 28 PASSIVE_GAIA_AUTH, 29 REQUIRE_PHONE_NUMBER, 30 }; 31 32 // Static helper functions to determine if an RequiredAction applies to a 33 // FullWallet, WalletItems, or SaveToWallet response. 34 bool ActionAppliesToFullWallet(RequiredAction action); 35 bool ActionAppliesToSaveToWallet(RequiredAction action); 36 bool ActionAppliesToWalletItems(RequiredAction action); 37 38 // Turn a string value of the parsed JSON response into an RequiredAction. 39 RequiredAction ParseRequiredActionFromString(const std::string& str); 40 41 } // namespace wallet 42 } // namespace autofill 43 44 #endif // COMPONENTS_AUTOFILL_CONTENT_BROWSER_WALLET_REQUIRED_ACTION_H_ 45