objc2_pass_kit/generated/
PKPassLibrary.rs1use core::ffi::*;
4use core::ptr::NonNull;
5use objc2::__framework_prelude::*;
6use objc2_foundation::*;
7
8use crate::*;
9
10#[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#[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#[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#[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
100pub type PKSuppressionRequestToken = NSUInteger;
102
103extern_class!(
104 #[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
381impl 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
394pub type PKPassLibraryNotificationName = NSString;
397
398extern "C" {
399 pub static PKPassLibraryDidChangeNotification: &'static PKPassLibraryNotificationName;
401}
402
403extern "C" {
404 pub static PKPassLibraryRemotePaymentPassesDidChangeNotification:
406 &'static PKPassLibraryNotificationName;
407}
408
409pub type PKPassLibraryNotificationKey = NSString;
412
413extern "C" {
414 pub static PKPassLibraryAddedPassesUserInfoKey: &'static PKPassLibraryNotificationKey;
416}
417
418extern "C" {
419 pub static PKPassLibraryReplacementPassesUserInfoKey: &'static PKPassLibraryNotificationKey;
421}
422
423extern "C" {
424 pub static PKPassLibraryRemovedPassInfosUserInfoKey: &'static PKPassLibraryNotificationKey;
426}
427
428extern "C" {
429 pub static PKPassLibraryPassTypeIdentifierUserInfoKey: &'static PKPassLibraryNotificationKey;
431}
432
433extern "C" {
434 pub static PKPassLibrarySerialNumberUserInfoKey: &'static PKPassLibraryNotificationKey;
436}
437
438extern "C" {
439 pub static PKPassLibraryRecoveredPassesUserInfoKey: &'static PKPassLibraryNotificationKey;
441}