objc2_pass_kit/generated/
PKPaymentAuthorizationController.rs

1//! This file has been automatically generated by `objc2`'s `header-translator`.
2//! DO NOT EDIT
3use core::ffi::*;
4use core::ptr::NonNull;
5use objc2::__framework_prelude::*;
6#[cfg(feature = "objc2-app-kit")]
7#[cfg(target_os = "macos")]
8use objc2_app_kit::*;
9use objc2_foundation::*;
10
11use crate::*;
12
13extern_protocol!(
14    /// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkpaymentauthorizationcontrollerdelegate?language=objc)
15    pub unsafe trait PKPaymentAuthorizationControllerDelegate: NSObjectProtocol {
16        #[unsafe(method(paymentAuthorizationControllerDidFinish:))]
17        #[unsafe(method_family = none)]
18        unsafe fn paymentAuthorizationControllerDidFinish(
19            &self,
20            controller: &PKPaymentAuthorizationController,
21            mtm: MainThreadMarker,
22        );
23
24        #[cfg(all(
25            feature = "PKPayment",
26            feature = "PKPaymentRequestStatus",
27            feature = "block2"
28        ))]
29        #[optional]
30        #[unsafe(method(paymentAuthorizationController:didAuthorizePayment:handler:))]
31        #[unsafe(method_family = none)]
32        unsafe fn paymentAuthorizationController_didAuthorizePayment_handler(
33            &self,
34            controller: &PKPaymentAuthorizationController,
35            payment: &PKPayment,
36            completion: &block2::DynBlock<dyn Fn(NonNull<PKPaymentAuthorizationResult>)>,
37            mtm: MainThreadMarker,
38        );
39
40        #[cfg(all(feature = "PKConstants", feature = "PKPayment", feature = "block2"))]
41        #[deprecated = "Use paymentAuthorizationController:didAuthorizePayment:handler: instead to provide more granular errors"]
42        #[optional]
43        #[unsafe(method(paymentAuthorizationController:didAuthorizePayment:completion:))]
44        #[unsafe(method_family = none)]
45        unsafe fn paymentAuthorizationController_didAuthorizePayment_completion(
46            &self,
47            controller: &PKPaymentAuthorizationController,
48            payment: &PKPayment,
49            completion: &block2::DynBlock<dyn Fn(PKPaymentAuthorizationStatus)>,
50        );
51
52        #[optional]
53        #[unsafe(method(paymentAuthorizationControllerWillAuthorizePayment:))]
54        #[unsafe(method_family = none)]
55        unsafe fn paymentAuthorizationControllerWillAuthorizePayment(
56            &self,
57            controller: &PKPaymentAuthorizationController,
58            mtm: MainThreadMarker,
59        );
60
61        #[cfg(all(feature = "PKPaymentRequestStatus", feature = "block2"))]
62        #[optional]
63        #[unsafe(method(paymentAuthorizationController:didRequestMerchantSessionUpdate:))]
64        #[unsafe(method_family = none)]
65        unsafe fn paymentAuthorizationController_didRequestMerchantSessionUpdate(
66            &self,
67            controller: &PKPaymentAuthorizationController,
68            handler: &block2::DynBlock<dyn Fn(NonNull<PKPaymentRequestMerchantSessionUpdate>)>,
69            mtm: MainThreadMarker,
70        );
71
72        #[cfg(all(feature = "PKPaymentRequestStatus", feature = "block2"))]
73        #[optional]
74        #[unsafe(method(paymentAuthorizationController:didChangeCouponCode:handler:))]
75        #[unsafe(method_family = none)]
76        unsafe fn paymentAuthorizationController_didChangeCouponCode_handler(
77            &self,
78            controller: &PKPaymentAuthorizationController,
79            coupon_code: &NSString,
80            completion: &block2::DynBlock<dyn Fn(NonNull<PKPaymentRequestCouponCodeUpdate>)>,
81            mtm: MainThreadMarker,
82        );
83
84        #[cfg(all(
85            feature = "PKPaymentRequestStatus",
86            feature = "PKPaymentSummaryItem",
87            feature = "PKShippingMethod",
88            feature = "block2"
89        ))]
90        #[optional]
91        #[unsafe(method(paymentAuthorizationController:didSelectShippingMethod:handler:))]
92        #[unsafe(method_family = none)]
93        unsafe fn paymentAuthorizationController_didSelectShippingMethod_handler(
94            &self,
95            controller: &PKPaymentAuthorizationController,
96            shipping_method: &PKShippingMethod,
97            completion: &block2::DynBlock<dyn Fn(NonNull<PKPaymentRequestShippingMethodUpdate>)>,
98            mtm: MainThreadMarker,
99        );
100
101        #[cfg(all(
102            feature = "PKContact",
103            feature = "PKPaymentRequestStatus",
104            feature = "block2"
105        ))]
106        #[optional]
107        #[unsafe(method(paymentAuthorizationController:didSelectShippingContact:handler:))]
108        #[unsafe(method_family = none)]
109        unsafe fn paymentAuthorizationController_didSelectShippingContact_handler(
110            &self,
111            controller: &PKPaymentAuthorizationController,
112            contact: &PKContact,
113            completion: &block2::DynBlock<dyn Fn(NonNull<PKPaymentRequestShippingContactUpdate>)>,
114            mtm: MainThreadMarker,
115        );
116
117        #[cfg(all(
118            feature = "PKPaymentMethod",
119            feature = "PKPaymentRequestStatus",
120            feature = "block2"
121        ))]
122        #[optional]
123        #[unsafe(method(paymentAuthorizationController:didSelectPaymentMethod:handler:))]
124        #[unsafe(method_family = none)]
125        unsafe fn paymentAuthorizationController_didSelectPaymentMethod_handler(
126            &self,
127            controller: &PKPaymentAuthorizationController,
128            payment_method: &PKPaymentMethod,
129            completion: &block2::DynBlock<dyn Fn(NonNull<PKPaymentRequestPaymentMethodUpdate>)>,
130            mtm: MainThreadMarker,
131        );
132
133        #[cfg(all(
134            feature = "PKConstants",
135            feature = "PKPaymentSummaryItem",
136            feature = "PKShippingMethod",
137            feature = "block2"
138        ))]
139        #[deprecated = "Use paymentAuthorizationController:didSelectShippingMethod:handler: instead to provide more granular errors"]
140        #[optional]
141        #[unsafe(method(paymentAuthorizationController:didSelectShippingMethod:completion:))]
142        #[unsafe(method_family = none)]
143        unsafe fn paymentAuthorizationController_didSelectShippingMethod_completion(
144            &self,
145            controller: &PKPaymentAuthorizationController,
146            shipping_method: &PKShippingMethod,
147            completion: &block2::DynBlock<
148                dyn Fn(PKPaymentAuthorizationStatus, NonNull<NSArray<PKPaymentSummaryItem>>),
149            >,
150        );
151
152        #[cfg(all(
153            feature = "PKConstants",
154            feature = "PKContact",
155            feature = "PKPaymentSummaryItem",
156            feature = "PKShippingMethod",
157            feature = "block2"
158        ))]
159        #[deprecated = "Use paymentAuthorizationController:didSelectShippingContact:handler: instead to provide more granular errors"]
160        #[optional]
161        #[unsafe(method(paymentAuthorizationController:didSelectShippingContact:completion:))]
162        #[unsafe(method_family = none)]
163        unsafe fn paymentAuthorizationController_didSelectShippingContact_completion(
164            &self,
165            controller: &PKPaymentAuthorizationController,
166            contact: &PKContact,
167            completion: &block2::DynBlock<
168                dyn Fn(
169                    PKPaymentAuthorizationStatus,
170                    NonNull<NSArray<PKShippingMethod>>,
171                    NonNull<NSArray<PKPaymentSummaryItem>>,
172                ),
173            >,
174        );
175
176        #[cfg(all(
177            feature = "PKPaymentMethod",
178            feature = "PKPaymentSummaryItem",
179            feature = "block2"
180        ))]
181        #[deprecated = "Use paymentAuthorizationController:didSelectPaymentMethod:handler: instead to provide more granular errors"]
182        #[optional]
183        #[unsafe(method(paymentAuthorizationController:didSelectPaymentMethod:completion:))]
184        #[unsafe(method_family = none)]
185        unsafe fn paymentAuthorizationController_didSelectPaymentMethod_completion(
186            &self,
187            controller: &PKPaymentAuthorizationController,
188            payment_method: &PKPaymentMethod,
189            completion: &block2::DynBlock<dyn Fn(NonNull<NSArray<PKPaymentSummaryItem>>)>,
190        );
191
192        #[cfg(feature = "objc2-app-kit")]
193        #[cfg(target_os = "macos")]
194        #[unsafe(method(presentationWindowForPaymentAuthorizationController:))]
195        #[unsafe(method_family = none)]
196        unsafe fn presentationWindowForPaymentAuthorizationController(
197            &self,
198            controller: &PKPaymentAuthorizationController,
199            mtm: MainThreadMarker,
200        ) -> Option<Retained<NSWindow>>;
201    }
202);
203
204extern_class!(
205    /// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkpaymentauthorizationcontroller?language=objc)
206    #[unsafe(super(NSObject))]
207    #[derive(Debug, PartialEq, Eq, Hash)]
208    pub struct PKPaymentAuthorizationController;
209);
210
211extern_conformance!(
212    unsafe impl NSObjectProtocol for PKPaymentAuthorizationController {}
213);
214
215impl PKPaymentAuthorizationController {
216    extern_methods!(
217        #[unsafe(method(canMakePayments))]
218        #[unsafe(method_family = none)]
219        pub unsafe fn canMakePayments() -> bool;
220
221        #[cfg(feature = "PKConstants")]
222        #[unsafe(method(canMakePaymentsUsingNetworks:))]
223        #[unsafe(method_family = none)]
224        pub unsafe fn canMakePaymentsUsingNetworks(
225            supported_networks: &NSArray<PKPaymentNetwork>,
226        ) -> bool;
227
228        #[cfg(all(feature = "PKConstants", feature = "PKPaymentRequest"))]
229        #[unsafe(method(canMakePaymentsUsingNetworks:capabilities:))]
230        #[unsafe(method_family = none)]
231        pub unsafe fn canMakePaymentsUsingNetworks_capabilities(
232            supported_networks: &NSArray<PKPaymentNetwork>,
233            capabilties: PKMerchantCapability,
234        ) -> bool;
235
236        #[unsafe(method(delegate))]
237        #[unsafe(method_family = none)]
238        pub unsafe fn delegate(
239            &self,
240        ) -> Option<Retained<ProtocolObject<dyn PKPaymentAuthorizationControllerDelegate>>>;
241
242        /// Setter for [`delegate`][Self::delegate].
243        ///
244        /// This is a [weak property][objc2::topics::weak_property].
245        #[unsafe(method(setDelegate:))]
246        #[unsafe(method_family = none)]
247        pub unsafe fn setDelegate(
248            &self,
249            delegate: Option<&ProtocolObject<dyn PKPaymentAuthorizationControllerDelegate>>,
250        );
251
252        #[cfg(feature = "PKPaymentRequest")]
253        #[unsafe(method(initWithPaymentRequest:))]
254        #[unsafe(method_family = init)]
255        pub unsafe fn initWithPaymentRequest(
256            this: Allocated<Self>,
257            request: &PKPaymentRequest,
258        ) -> Retained<Self>;
259
260        #[cfg(feature = "block2")]
261        #[unsafe(method(presentWithCompletion:))]
262        #[unsafe(method_family = none)]
263        pub unsafe fn presentWithCompletion(
264            &self,
265            completion: Option<&block2::DynBlock<dyn Fn(Bool)>>,
266        );
267
268        #[cfg(feature = "block2")]
269        #[unsafe(method(dismissWithCompletion:))]
270        #[unsafe(method_family = none)]
271        pub unsafe fn dismissWithCompletion(&self, completion: Option<&block2::DynBlock<dyn Fn()>>);
272
273        #[unsafe(method(supportsDisbursements))]
274        #[unsafe(method_family = none)]
275        pub unsafe fn supportsDisbursements() -> bool;
276
277        #[cfg(feature = "PKConstants")]
278        #[unsafe(method(supportsDisbursementsUsingNetworks:))]
279        #[unsafe(method_family = none)]
280        pub unsafe fn supportsDisbursementsUsingNetworks(
281            supported_networks: &NSArray<PKPaymentNetwork>,
282        ) -> bool;
283
284        #[cfg(all(feature = "PKConstants", feature = "PKPaymentRequest"))]
285        #[unsafe(method(supportsDisbursementsUsingNetworks:capabilities:))]
286        #[unsafe(method_family = none)]
287        pub unsafe fn supportsDisbursementsUsingNetworks_capabilities(
288            supported_networks: &NSArray<PKPaymentNetwork>,
289            capabilties: PKMerchantCapability,
290        ) -> bool;
291
292        #[cfg(feature = "PKDisbursementRequest")]
293        #[unsafe(method(initWithDisbursementRequest:))]
294        #[unsafe(method_family = init)]
295        pub unsafe fn initWithDisbursementRequest(
296            this: Allocated<Self>,
297            request: &PKDisbursementRequest,
298        ) -> Retained<Self>;
299    );
300}
301
302/// Methods declared on superclass `NSObject`.
303impl PKPaymentAuthorizationController {
304    extern_methods!(
305        #[unsafe(method(init))]
306        #[unsafe(method_family = init)]
307        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
308
309        #[unsafe(method(new))]
310        #[unsafe(method_family = new)]
311        pub unsafe fn new() -> Retained<Self>;
312    );
313}