objc2_pass_kit/generated/
PKPassLibrary.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::*;
6use objc2_foundation::*;
7
8use crate::*;
9
10/// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkpasslibraryaddpassesstatus?language=objc)
11// NS_ENUM
12#[repr(transparent)]
13#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
14pub struct PKPassLibraryAddPassesStatus(pub NSInteger);
15impl PKPassLibraryAddPassesStatus {
16    #[doc(alias = "PKPassLibraryDidAddPasses")]
17    pub const DidAddPasses: Self = Self(0);
18    #[doc(alias = "PKPassLibraryShouldReviewPasses")]
19    pub const ShouldReviewPasses: Self = Self(1);
20    #[doc(alias = "PKPassLibraryDidCancelAddPasses")]
21    pub const DidCancelAddPasses: Self = Self(2);
22}
23
24unsafe impl Encode for PKPassLibraryAddPassesStatus {
25    const ENCODING: Encoding = NSInteger::ENCODING;
26}
27
28unsafe impl RefEncode for PKPassLibraryAddPassesStatus {
29    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
30}
31
32/// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkautomaticpasspresentationsuppressionresult?language=objc)
33// NS_ENUM
34#[repr(transparent)]
35#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
36pub struct PKAutomaticPassPresentationSuppressionResult(pub NSUInteger);
37impl PKAutomaticPassPresentationSuppressionResult {
38    #[doc(alias = "PKAutomaticPassPresentationSuppressionResultNotSupported")]
39    pub const NotSupported: Self = Self(0);
40    #[doc(alias = "PKAutomaticPassPresentationSuppressionResultAlreadyPresenting")]
41    pub const AlreadyPresenting: Self = Self(1);
42    #[doc(alias = "PKAutomaticPassPresentationSuppressionResultDenied")]
43    pub const Denied: Self = Self(2);
44    #[doc(alias = "PKAutomaticPassPresentationSuppressionResultCancelled")]
45    pub const Cancelled: Self = Self(3);
46    #[doc(alias = "PKAutomaticPassPresentationSuppressionResultSuccess")]
47    pub const Success: Self = Self(4);
48}
49
50unsafe impl Encode for PKAutomaticPassPresentationSuppressionResult {
51    const ENCODING: Encoding = NSUInteger::ENCODING;
52}
53
54unsafe impl RefEncode for PKAutomaticPassPresentationSuppressionResult {
55    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
56}
57
58/// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkpasslibrarycapability?language=objc)
59// NS_ENUM
60#[repr(transparent)]
61#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
62pub struct PKPassLibraryCapability(pub NSInteger);
63impl PKPassLibraryCapability {
64    #[doc(alias = "PKPassLibraryCapabilityBackgroundAddPasses")]
65    pub const BackgroundAddPasses: Self = Self(0);
66}
67
68unsafe impl Encode for PKPassLibraryCapability {
69    const ENCODING: Encoding = NSInteger::ENCODING;
70}
71
72unsafe impl RefEncode for PKPassLibraryCapability {
73    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
74}
75
76/// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkpasslibraryauthorizationstatus?language=objc)
77// NS_ENUM
78#[repr(transparent)]
79#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
80pub struct PKPassLibraryAuthorizationStatus(pub NSInteger);
81impl PKPassLibraryAuthorizationStatus {
82    #[doc(alias = "PKPassLibraryAuthorizationStatusNotDetermined")]
83    pub const NotDetermined: Self = Self(-1);
84    #[doc(alias = "PKPassLibraryAuthorizationStatusDenied")]
85    pub const Denied: Self = Self(0);
86    #[doc(alias = "PKPassLibraryAuthorizationStatusAuthorized")]
87    pub const Authorized: Self = Self(1);
88    #[doc(alias = "PKPassLibraryAuthorizationStatusRestricted")]
89    pub const Restricted: Self = Self(2);
90}
91
92unsafe impl Encode for PKPassLibraryAuthorizationStatus {
93    const ENCODING: Encoding = NSInteger::ENCODING;
94}
95
96unsafe impl RefEncode for PKPassLibraryAuthorizationStatus {
97    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
98}
99
100/// [Apple's documentation](https://developer.apple.com/documentation/passkit/pksuppressionrequesttoken?language=objc)
101pub type PKSuppressionRequestToken = NSUInteger;
102
103extern_class!(
104    /// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkpasslibrary?language=objc)
105    #[unsafe(super(NSObject))]
106    #[derive(Debug, PartialEq, Eq, Hash)]
107    pub struct PKPassLibrary;
108);
109
110extern_conformance!(
111    unsafe impl NSObjectProtocol for PKPassLibrary {}
112);
113
114impl PKPassLibrary {
115    extern_methods!(
116        #[unsafe(method(isPassLibraryAvailable))]
117        #[unsafe(method_family = none)]
118        pub unsafe fn isPassLibraryAvailable() -> bool;
119
120        #[cfg(feature = "block2")]
121        #[unsafe(method(requestAutomaticPassPresentationSuppressionWithResponseHandler:))]
122        #[unsafe(method_family = none)]
123        pub unsafe fn requestAutomaticPassPresentationSuppressionWithResponseHandler(
124            response_handler: &block2::DynBlock<
125                dyn Fn(PKAutomaticPassPresentationSuppressionResult),
126            >,
127        ) -> PKSuppressionRequestToken;
128
129        #[unsafe(method(endAutomaticPassPresentationSuppressionWithRequestToken:))]
130        #[unsafe(method_family = none)]
131        pub unsafe fn endAutomaticPassPresentationSuppressionWithRequestToken(
132            request_token: PKSuppressionRequestToken,
133        );
134
135        #[unsafe(method(isSuppressingAutomaticPassPresentation))]
136        #[unsafe(method_family = none)]
137        pub unsafe fn isSuppressingAutomaticPassPresentation() -> bool;
138
139        #[deprecated = "Use -[PKPassLibrary isPaymentPassActivationAvailable] instead"]
140        #[unsafe(method(isPaymentPassActivationAvailable))]
141        #[unsafe(method_family = none)]
142        pub unsafe fn isPaymentPassActivationAvailable_class() -> bool;
143
144        #[deprecated = "Use -[PKPassLibrary isSecureElementPassActivationAvailable] instead"]
145        #[unsafe(method(isPaymentPassActivationAvailable))]
146        #[unsafe(method_family = none)]
147        pub unsafe fn isPaymentPassActivationAvailable(&self) -> bool;
148
149        #[unsafe(method(isSecureElementPassActivationAvailable))]
150        #[unsafe(method_family = none)]
151        pub unsafe fn isSecureElementPassActivationAvailable(&self) -> bool;
152
153        #[cfg(all(feature = "PKObject", feature = "PKPass"))]
154        #[unsafe(method(passes))]
155        #[unsafe(method_family = none)]
156        pub unsafe fn passes(&self) -> Retained<NSArray<PKPass>>;
157
158        #[cfg(all(feature = "PKObject", feature = "PKPass"))]
159        #[unsafe(method(passWithPassTypeIdentifier:serialNumber:))]
160        #[unsafe(method_family = none)]
161        pub unsafe fn passWithPassTypeIdentifier_serialNumber(
162            &self,
163            identifier: &NSString,
164            serial_number: &NSString,
165        ) -> Option<Retained<PKPass>>;
166
167        #[cfg(all(
168            feature = "PKObject",
169            feature = "PKPass",
170            feature = "PKSecureElementPass"
171        ))]
172        #[unsafe(method(passesWithReaderIdentifier:))]
173        #[unsafe(method_family = none)]
174        pub unsafe fn passesWithReaderIdentifier(
175            &self,
176            reader_identifier: &NSString,
177        ) -> Retained<NSSet<PKSecureElementPass>>;
178
179        #[cfg(all(feature = "PKObject", feature = "PKPass", feature = "PKPass_Types"))]
180        #[unsafe(method(passesOfType:))]
181        #[unsafe(method_family = none)]
182        pub unsafe fn passesOfType(&self, pass_type: PKPassType) -> Retained<NSArray<PKPass>>;
183
184        #[cfg(all(
185            feature = "PKObject",
186            feature = "PKPass",
187            feature = "PKPaymentPass",
188            feature = "PKSecureElementPass"
189        ))]
190        #[deprecated = "Use -[PKPassLibrary remoteSecureElementPasses] instead"]
191        #[unsafe(method(remotePaymentPasses))]
192        #[unsafe(method_family = none)]
193        pub unsafe fn remotePaymentPasses(&self) -> Retained<NSArray<PKPaymentPass>>;
194
195        #[cfg(all(
196            feature = "PKObject",
197            feature = "PKPass",
198            feature = "PKSecureElementPass"
199        ))]
200        #[unsafe(method(remoteSecureElementPasses))]
201        #[unsafe(method_family = none)]
202        pub unsafe fn remoteSecureElementPasses(&self) -> Retained<NSArray<PKSecureElementPass>>;
203
204        #[cfg(all(feature = "PKObject", feature = "PKPass"))]
205        #[unsafe(method(removePass:))]
206        #[unsafe(method_family = none)]
207        pub unsafe fn removePass(&self, pass: &PKPass);
208
209        #[cfg(all(feature = "PKObject", feature = "PKPass"))]
210        #[unsafe(method(containsPass:))]
211        #[unsafe(method_family = none)]
212        pub unsafe fn containsPass(&self, pass: &PKPass) -> bool;
213
214        #[cfg(all(feature = "PKObject", feature = "PKPass"))]
215        #[unsafe(method(replacePassWithPass:))]
216        #[unsafe(method_family = none)]
217        pub unsafe fn replacePassWithPass(&self, pass: &PKPass) -> bool;
218
219        #[cfg(all(feature = "PKObject", feature = "PKPass", feature = "block2"))]
220        #[unsafe(method(addPasses:withCompletionHandler:))]
221        #[unsafe(method_family = none)]
222        pub unsafe fn addPasses_withCompletionHandler(
223            &self,
224            passes: &NSArray<PKPass>,
225            completion: Option<&block2::DynBlock<dyn Fn(PKPassLibraryAddPassesStatus)>>,
226        );
227
228        #[unsafe(method(openPaymentSetup))]
229        #[unsafe(method_family = none)]
230        pub unsafe fn openPaymentSetup(&self);
231
232        #[cfg(all(
233            feature = "PKObject",
234            feature = "PKPass",
235            feature = "PKPaymentPass",
236            feature = "PKSecureElementPass"
237        ))]
238        #[deprecated = "Use -[PKPassLibrary presentSecureElementPass:] instead"]
239        #[unsafe(method(presentPaymentPass:))]
240        #[unsafe(method_family = none)]
241        pub unsafe fn presentPaymentPass(&self, pass: &PKPaymentPass);
242
243        #[cfg(all(
244            feature = "PKObject",
245            feature = "PKPass",
246            feature = "PKSecureElementPass"
247        ))]
248        #[unsafe(method(presentSecureElementPass:))]
249        #[unsafe(method_family = none)]
250        pub unsafe fn presentSecureElementPass(&self, pass: &PKSecureElementPass);
251
252        #[deprecated = "Use -[PKPassLibrary canAddSecureElementPassWithPrimaryAccountIdentifier] instead"]
253        #[unsafe(method(canAddPaymentPassWithPrimaryAccountIdentifier:))]
254        #[unsafe(method_family = none)]
255        pub unsafe fn canAddPaymentPassWithPrimaryAccountIdentifier(
256            &self,
257            primary_account_identifier: &NSString,
258        ) -> bool;
259
260        #[unsafe(method(canAddSecureElementPassWithPrimaryAccountIdentifier:))]
261        #[unsafe(method_family = none)]
262        pub unsafe fn canAddSecureElementPassWithPrimaryAccountIdentifier(
263            &self,
264            primary_account_identifier: &NSString,
265        ) -> bool;
266
267        #[unsafe(method(canAddFelicaPass))]
268        #[unsafe(method_family = none)]
269        pub unsafe fn canAddFelicaPass(&self) -> bool;
270
271        #[cfg(all(
272            feature = "PKObject",
273            feature = "PKPass",
274            feature = "PKPaymentPass",
275            feature = "PKSecureElementPass",
276            feature = "block2"
277        ))]
278        #[deprecated = "Use activateSecureElementPass:withActivationData:completion: instead"]
279        #[unsafe(method(activatePaymentPass:withActivationData:completion:))]
280        #[unsafe(method_family = none)]
281        pub unsafe fn activatePaymentPass_withActivationData_completion(
282            &self,
283            payment_pass: &PKPaymentPass,
284            activation_data: &NSData,
285            completion: Option<&block2::DynBlock<dyn Fn(Bool, NonNull<NSError>)>>,
286        );
287
288        #[cfg(all(
289            feature = "PKObject",
290            feature = "PKPass",
291            feature = "PKPaymentPass",
292            feature = "PKSecureElementPass",
293            feature = "block2"
294        ))]
295        #[deprecated = "Use activatePaymentPass:withActivationData:completion: instead"]
296        #[unsafe(method(activatePaymentPass:withActivationCode:completion:))]
297        #[unsafe(method_family = none)]
298        pub unsafe fn activatePaymentPass_withActivationCode_completion(
299            &self,
300            payment_pass: &PKPaymentPass,
301            activation_code: &NSString,
302            completion: Option<&block2::DynBlock<dyn Fn(Bool, NonNull<NSError>)>>,
303        );
304
305        #[cfg(all(
306            feature = "PKObject",
307            feature = "PKPass",
308            feature = "PKSecureElementPass",
309            feature = "block2"
310        ))]
311        #[unsafe(method(activateSecureElementPass:withActivationData:completion:))]
312        #[unsafe(method_family = none)]
313        pub unsafe fn activateSecureElementPass_withActivationData_completion(
314            &self,
315            secure_element_pass: &PKSecureElementPass,
316            activation_data: &NSData,
317            completion: Option<&block2::DynBlock<dyn Fn(Bool, *mut NSError)>>,
318        );
319
320        #[cfg(all(
321            feature = "PKObject",
322            feature = "PKPass",
323            feature = "PKSecureElementPass",
324            feature = "block2"
325        ))]
326        #[unsafe(method(signData:withSecureElementPass:completion:))]
327        #[unsafe(method_family = none)]
328        pub unsafe fn signData_withSecureElementPass_completion(
329            &self,
330            sign_data: &NSData,
331            secure_element_pass: &PKSecureElementPass,
332            completion: &block2::DynBlock<dyn Fn(*mut NSData, *mut NSData, *mut NSError)>,
333        );
334
335        #[cfg(all(
336            feature = "PKObject",
337            feature = "PKPass",
338            feature = "PKSecureElementPass",
339            feature = "block2"
340        ))]
341        #[unsafe(method(encryptedServiceProviderDataForSecureElementPass:completion:))]
342        #[unsafe(method_family = none)]
343        pub unsafe fn encryptedServiceProviderDataForSecureElementPass_completion(
344            &self,
345            secure_element_pass: &PKSecureElementPass,
346            completion: &block2::DynBlock<dyn Fn(*mut NSDictionary, *mut NSError)>,
347        );
348
349        #[cfg(all(
350            feature = "PKObject",
351            feature = "PKPass",
352            feature = "PKSecureElementPass",
353            feature = "block2"
354        ))]
355        #[unsafe(method(serviceProviderDataForSecureElementPass:completion:))]
356        #[unsafe(method_family = none)]
357        pub unsafe fn serviceProviderDataForSecureElementPass_completion(
358            &self,
359            secure_element_pass: &PKSecureElementPass,
360            completion: &block2::DynBlock<dyn Fn(*mut NSData, *mut NSError)>,
361        );
362
363        #[unsafe(method(authorizationStatusForCapability:))]
364        #[unsafe(method_family = none)]
365        pub unsafe fn authorizationStatusForCapability(
366            &self,
367            capability: PKPassLibraryCapability,
368        ) -> PKPassLibraryAuthorizationStatus;
369
370        #[cfg(feature = "block2")]
371        #[unsafe(method(requestAuthorizationForCapability:completion:))]
372        #[unsafe(method_family = none)]
373        pub unsafe fn requestAuthorizationForCapability_completion(
374            &self,
375            capability: PKPassLibraryCapability,
376            completion: &block2::DynBlock<dyn Fn(PKPassLibraryAuthorizationStatus)>,
377        );
378    );
379}
380
381/// Methods declared on superclass `NSObject`.
382impl PKPassLibrary {
383    extern_methods!(
384        #[unsafe(method(init))]
385        #[unsafe(method_family = init)]
386        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
387
388        #[unsafe(method(new))]
389        #[unsafe(method_family = new)]
390        pub unsafe fn new() -> Retained<Self>;
391    );
392}
393
394/// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkpasslibrarynotificationname?language=objc)
395// NS_TYPED_EXTENSIBLE_ENUM
396pub type PKPassLibraryNotificationName = NSString;
397
398extern "C" {
399    /// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkpasslibrarydidchangenotification?language=objc)
400    pub static PKPassLibraryDidChangeNotification: &'static PKPassLibraryNotificationName;
401}
402
403extern "C" {
404    /// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkpasslibraryremotepaymentpassesdidchangenotification?language=objc)
405    pub static PKPassLibraryRemotePaymentPassesDidChangeNotification:
406        &'static PKPassLibraryNotificationName;
407}
408
409/// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkpasslibrarynotificationkey?language=objc)
410// NS_TYPED_ENUM
411pub type PKPassLibraryNotificationKey = NSString;
412
413extern "C" {
414    /// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkpasslibraryaddedpassesuserinfokey?language=objc)
415    pub static PKPassLibraryAddedPassesUserInfoKey: &'static PKPassLibraryNotificationKey;
416}
417
418extern "C" {
419    /// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkpasslibraryreplacementpassesuserinfokey?language=objc)
420    pub static PKPassLibraryReplacementPassesUserInfoKey: &'static PKPassLibraryNotificationKey;
421}
422
423extern "C" {
424    /// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkpasslibraryremovedpassinfosuserinfokey?language=objc)
425    pub static PKPassLibraryRemovedPassInfosUserInfoKey: &'static PKPassLibraryNotificationKey;
426}
427
428extern "C" {
429    /// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkpasslibrarypasstypeidentifieruserinfokey?language=objc)
430    pub static PKPassLibraryPassTypeIdentifierUserInfoKey: &'static PKPassLibraryNotificationKey;
431}
432
433extern "C" {
434    /// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkpasslibraryserialnumberuserinfokey?language=objc)
435    pub static PKPassLibrarySerialNumberUserInfoKey: &'static PKPassLibraryNotificationKey;
436}
437
438extern "C" {
439    /// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkpasslibraryrecoveredpassesuserinfokey?language=objc)
440    pub static PKPassLibraryRecoveredPassesUserInfoKey: &'static PKPassLibraryNotificationKey;
441}