OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 IOS_CHROME_BROWSER_PAYMENTS_SHIPPING_ADDRESS_SELECTION_COORDINATOR_H_ | 5 #ifndef IOS_CHROME_BROWSER_PAYMENTS_SHIPPING_ADDRESS_SELECTION_COORDINATOR_H_ |
6 #define IOS_CHROME_BROWSER_PAYMENTS_SHIPPING_ADDRESS_SELECTION_COORDINATOR_H_ | 6 #define IOS_CHROME_BROWSER_PAYMENTS_SHIPPING_ADDRESS_SELECTION_COORDINATOR_H_ |
7 | 7 |
8 #import <UIKit/UIKit.h> | 8 #import <UIKit/UIKit.h> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
11 #import "ios/chrome/browser/chrome_coordinator.h" | 11 #import "ios/chrome/browser/chrome_coordinator.h" |
12 | 12 |
13 namespace autofill { | 13 namespace autofill { |
14 class AutofillProfile; | 14 class AutofillProfile; |
15 } // namespace autofill | 15 } // namespace autofill |
16 | 16 |
17 @class ShippingAddressSelectionCoordinator; | 17 @class ShippingAddressSelectionCoordinator; |
18 | 18 |
19 @protocol ShippingAddressSelectionCoordinatorDelegate<NSObject> | 19 @protocol ShippingAddressSelectionCoordinatorDelegate<NSObject> |
20 | 20 |
| 21 // Notifies the delegate that the user has selected a shipping address. |
21 - (void)shippingAddressSelectionCoordinator: | 22 - (void)shippingAddressSelectionCoordinator: |
22 (ShippingAddressSelectionCoordinator*)coordinator | 23 (ShippingAddressSelectionCoordinator*)coordinator |
23 selectedShippingAddress: | 24 selectedShippingAddress: |
24 (autofill::AutofillProfile*)shippingAddress; | 25 (autofill::AutofillProfile*)shippingAddress; |
| 26 |
| 27 // Notifies the delegate that the user has chosen to return to the previous |
| 28 // screen without making a selection. |
25 - (void)shippingAddressSelectionCoordinatorDidReturn: | 29 - (void)shippingAddressSelectionCoordinatorDidReturn: |
26 (ShippingAddressSelectionCoordinator*)coordinator; | 30 (ShippingAddressSelectionCoordinator*)coordinator; |
27 | 31 |
28 @end | 32 @end |
29 | 33 |
30 // Coordinator responsible for creating and presenting the shipping address | 34 // Coordinator responsible for creating and presenting the shipping address |
31 // selection view controller. This view controller will be presented by the view | 35 // selection view controller. This view controller will be presented by the view |
32 // controller provided in the initializer. | 36 // controller provided in the initializer. |
33 @interface ShippingAddressSelectionCoordinator : ChromeCoordinator | 37 @interface ShippingAddressSelectionCoordinator : ChromeCoordinator |
34 | 38 |
35 // The available shipping addresses to fulfill the payment request. | 39 // The available shipping addresses to fulfill the payment request. |
36 @property(nonatomic, assign) std::vector<autofill::AutofillProfile*> | 40 @property(nonatomic, assign) std::vector<autofill::AutofillProfile*> |
37 shippingAddresses; | 41 shippingAddresses; |
38 | 42 |
39 // The shipping address selected by the user, if any. | 43 // The shipping address selected by the user, if any. |
40 @property(nonatomic, assign) autofill::AutofillProfile* selectedShippingAddress; | 44 @property(nonatomic, assign) autofill::AutofillProfile* selectedShippingAddress; |
41 | 45 |
42 // The delegate to be notified when the user selects a shipping address or | 46 // The delegate to be notified when the user selects a shipping address or |
43 // returns without selecting one. | 47 // returns without selecting one. |
44 @property(nonatomic, weak) id<ShippingAddressSelectionCoordinatorDelegate> | 48 @property(nonatomic, weak) id<ShippingAddressSelectionCoordinatorDelegate> |
45 delegate; | 49 delegate; |
46 | 50 |
47 @end | 51 @end |
48 | 52 |
49 #endif // IOS_CHROME_BROWSER_PAYMENTS_SHIPPING_ADDRESS_SELECTION_COORDINATOR_H_ | 53 #endif // IOS_CHROME_BROWSER_PAYMENTS_SHIPPING_ADDRESS_SELECTION_COORDINATOR_H_ |
OLD | NEW |