OLD | NEW |
(Empty) | |
| 1 // Copyright 2017 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 IOS_CHROME_BROWSER_UI_PAYMENTS_CONTACT_INFO_EDIT_COORDINATOR_H_ |
| 6 #define IOS_CHROME_BROWSER_UI_PAYMENTS_CONTACT_INFO_EDIT_COORDINATOR_H_ |
| 7 |
| 8 #import "ios/chrome/browser/chrome_coordinator.h" |
| 9 #import "ios/chrome/browser/ui/payments/payment_request_edit_view_controller.h" |
| 10 |
| 11 namespace autofill { |
| 12 class AutofillProfile; |
| 13 } // namespace autofill |
| 14 |
| 15 class PaymentRequest; |
| 16 |
| 17 @class ContactInfoEditCoordinator; |
| 18 |
| 19 // Delegate protocol for ContactInfoEditCoordinator. |
| 20 @protocol ContactInfoEditCoordinatorDelegate<NSObject> |
| 21 |
| 22 // Notifies the delegate that the user has finished editing or creating |
| 23 // |profile|. |profile| will be a new autofill profile instance owned by the |
| 24 // PaymentRequest object if none was provided to the coordinator. Otherwise, it |
| 25 // will be the same edited instance. |
| 26 - (void)contactInfoEditCoordinator:(ContactInfoEditCoordinator*)coordinator |
| 27 didFinishEditingProfile:(autofill::AutofillProfile*)profile; |
| 28 |
| 29 // Notifies the delegate that the user has chosen to cancel editing or creating |
| 30 // a profile and return to the previous screen. |
| 31 - (void)contactInfoEditCoordinatorDidCancel: |
| 32 (ContactInfoEditCoordinator*)coordinator; |
| 33 |
| 34 @end |
| 35 |
| 36 // Coordinator responsible for creating and presenting a profile editor view |
| 37 // controller. This view controller will be presented by the view controller |
| 38 // provided in the initializer. |
| 39 @interface ContactInfoEditCoordinator |
| 40 : ChromeCoordinator<PaymentRequestEditViewControllerDelegate, |
| 41 PaymentRequestEditViewControllerValidator> |
| 42 |
| 43 // The profile to be edited, if any. This pointer is not owned by this class |
| 44 // and should outlive it. |
| 45 @property(nonatomic, assign) autofill::AutofillProfile* profile; |
| 46 |
| 47 // The PaymentRequest object owning an instance of web::PaymentRequest as |
| 48 // provided by the page invoking the Payment Request API. This pointer is not |
| 49 // owned by this class and should outlive it. |
| 50 @property(nonatomic, assign) PaymentRequest* paymentRequest; |
| 51 |
| 52 // The delegate to be notified when the user returns or finishes creating or |
| 53 // editing a profile. |
| 54 @property(nonatomic, weak) id<ContactInfoEditCoordinatorDelegate> delegate; |
| 55 |
| 56 @end |
| 57 |
| 58 #endif // IOS_CHROME_BROWSER_UI_PAYMENTS_CONTACT_INFO_EDIT_COORDINATOR_H_ |
OLD | NEW |