Add diagnostics_writer.cc to the list of files allowed to printf.
[chromium-blink-merge.git] / components / autofill / content / browser / wallet / required_action.h
blobeb536220953a3717bd244210099fce4d8bc9e7ea
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.
5 #ifndef COMPONENTS_AUTOFILL_CONTENT_BROWSER_WALLET_REQUIRED_ACTION_H_
6 #define COMPONENTS_AUTOFILL_CONTENT_BROWSER_WALLET_REQUIRED_ACTION_H_
8 #include <string>
10 namespace autofill {
11 namespace wallet {
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,
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);
38 // Turn a string value of the parsed JSON response into an RequiredAction.
39 RequiredAction ParseRequiredActionFromString(const std::string& str);
41 } // namespace wallet
42 } // namespace autofill
44 #endif // COMPONENTS_AUTOFILL_CONTENT_BROWSER_WALLET_REQUIRED_ACTION_H_