blob: c3d56193800c0514828c741682342b0cabdfaba4 [file] [log] [blame]
// Copyright 2018 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 IOS_CHROME_BROWSER_UI_AUTOFILL_MANUAL_FILL_FULL_CARD_REQUESTER_H_
#define IOS_CHROME_BROWSER_UI_AUTOFILL_MANUAL_FILL_FULL_CARD_REQUESTER_H_
#import <UIKit/UIKit.h>
#include "base/memory/ref_counted.h"
namespace autofill {
class CreditCard;
} // namespace autofill
namespace ios {
class ChromeBrowserState;
} // namespace ios
class WebStateList;
@protocol FullCardRequestResultDelegateObserving;
// Bridge between manual fill credit card and payments' FullCardRequester to
// let user 'unlock' server side credit card by input correct CVC.
@interface ManualFillFullCardRequester : NSObject
// Inits the requests with required parameters and the |delegate| to receive the
// success/failure state of the request.
- (instancetype)initWithBrowserState:(ios::ChromeBrowserState*)browserState
webStateList:(WebStateList*)webStateList
resultDelegate:
(id<FullCardRequestResultDelegateObserving>)delegate;
// Executes the request, putting up a CVC input requester then unlocking a
// server side credit card if the CVC is correct. The delegate will receive the
// result of the operation.
- (void)requestFullCreditCard:(autofill::CreditCard)card
withBaseViewController:(UIViewController*)viewController;
@end
#endif // IOS_CHROME_BROWSER_UI_AUTOFILL_MANUAL_FILL_FULL_CARD_REQUESTER_H_