use core::ffi::*;
use core::ptr::NonNull;
use objc2::__framework_prelude::*;
use objc2_foundation::*;
use crate::*;
extern_class!(
#[unsafe(super(NSObject))]
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct PKIssuerProvisioningExtensionHandler;
);
extern_conformance!(
unsafe impl NSObjectProtocol for PKIssuerProvisioningExtensionHandler {}
);
impl PKIssuerProvisioningExtensionHandler {
extern_methods!(
#[cfg(all(feature = "PKIssuerProvisioningExtensionStatus", feature = "block2"))]
#[unsafe(method(statusWithCompletion:))]
#[unsafe(method_family = none)]
pub unsafe fn statusWithCompletion(
&self,
completion: &block2::DynBlock<dyn Fn(NonNull<PKIssuerProvisioningExtensionStatus>)>,
);
#[cfg(all(feature = "PKIssuerProvisioningExtensionPassEntry", feature = "block2"))]
#[unsafe(method(passEntriesWithCompletion:))]
#[unsafe(method_family = none)]
pub unsafe fn passEntriesWithCompletion(
&self,
completion: &block2::DynBlock<
dyn Fn(NonNull<NSArray<PKIssuerProvisioningExtensionPassEntry>>),
>,
);
#[cfg(all(feature = "PKIssuerProvisioningExtensionPassEntry", feature = "block2"))]
#[unsafe(method(remotePassEntriesWithCompletion:))]
#[unsafe(method_family = none)]
pub unsafe fn remotePassEntriesWithCompletion(
&self,
completion: &block2::DynBlock<
dyn Fn(NonNull<NSArray<PKIssuerProvisioningExtensionPassEntry>>),
>,
);
#[cfg(all(feature = "PKAddPaymentPassRequest", feature = "block2"))]
#[unsafe(method(generateAddPaymentPassRequestForPassEntryWithIdentifier:configuration:certificateChain:nonce:nonceSignature:completionHandler:))]
#[unsafe(method_family = none)]
pub unsafe fn generateAddPaymentPassRequestForPassEntryWithIdentifier_configuration_certificateChain_nonce_nonceSignature_completionHandler(
&self,
identifier: &NSString,
configuration: &PKAddPaymentPassRequestConfiguration,
certificates: &NSArray<NSData>,
nonce: &NSData,
nonce_signature: &NSData,
completion: &block2::DynBlock<dyn Fn(*mut PKAddPaymentPassRequest)>,
);
);
}
impl PKIssuerProvisioningExtensionHandler {
extern_methods!(
#[unsafe(method(init))]
#[unsafe(method_family = init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
#[unsafe(method(new))]
#[unsafe(method_family = new)]
pub unsafe fn new() -> Retained<Self>;
);
}