objc2-pass-kit 0.3.2

Bindings to the PassKit framework
Documentation
//! This file has been automatically generated by `objc2`'s `header-translator`.
//! DO NOT EDIT
use core::ffi::*;
use core::ptr::NonNull;
use objc2::__framework_prelude::*;
use objc2_foundation::*;

use crate::*;

extern_protocol!(
    /// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkpaymentauthorizationviewcontrollerdelegate?language=objc)
    pub unsafe trait PKPaymentAuthorizationViewControllerDelegate: NSObjectProtocol {
        #[cfg(all(
            feature = "PKPaymentAuthorizationViewController",
            feature = "objc2-app-kit"
        ))]
        #[cfg(target_os = "macos")]
        #[unsafe(method(paymentAuthorizationViewControllerDidFinish:))]
        #[unsafe(method_family = none)]
        unsafe fn paymentAuthorizationViewControllerDidFinish(
            &self,
            controller: &PKPaymentAuthorizationViewController,
        );

        #[cfg(all(
            feature = "PKPayment",
            feature = "PKPaymentAuthorizationViewController",
            feature = "PKPaymentRequestStatus",
            feature = "block2",
            feature = "objc2-app-kit"
        ))]
        #[cfg(target_os = "macos")]
        #[optional]
        #[unsafe(method(paymentAuthorizationViewController:didAuthorizePayment:handler:))]
        #[unsafe(method_family = none)]
        unsafe fn paymentAuthorizationViewController_didAuthorizePayment_handler(
            &self,
            controller: &PKPaymentAuthorizationViewController,
            payment: &PKPayment,
            completion: &block2::DynBlock<dyn Fn(NonNull<PKPaymentAuthorizationResult>)>,
        );

        #[cfg(all(
            feature = "PKPaymentAuthorizationViewController",
            feature = "objc2-app-kit"
        ))]
        #[cfg(target_os = "macos")]
        #[optional]
        #[unsafe(method(paymentAuthorizationViewControllerWillAuthorizePayment:))]
        #[unsafe(method_family = none)]
        unsafe fn paymentAuthorizationViewControllerWillAuthorizePayment(
            &self,
            controller: &PKPaymentAuthorizationViewController,
        );

        #[cfg(all(
            feature = "PKPaymentAuthorizationViewController",
            feature = "PKPaymentRequestStatus",
            feature = "block2",
            feature = "objc2-app-kit"
        ))]
        #[cfg(target_os = "macos")]
        #[optional]
        #[unsafe(method(paymentAuthorizationViewController:didRequestMerchantSessionUpdate:))]
        #[unsafe(method_family = none)]
        unsafe fn paymentAuthorizationViewController_didRequestMerchantSessionUpdate(
            &self,
            controller: &PKPaymentAuthorizationViewController,
            handler: &block2::DynBlock<dyn Fn(NonNull<PKPaymentRequestMerchantSessionUpdate>)>,
        );

        #[cfg(all(
            feature = "PKPaymentAuthorizationViewController",
            feature = "PKPaymentRequestStatus",
            feature = "block2",
            feature = "objc2-app-kit"
        ))]
        #[cfg(target_os = "macos")]
        #[optional]
        #[unsafe(method(paymentAuthorizationViewController:didChangeCouponCode:handler:))]
        #[unsafe(method_family = none)]
        unsafe fn paymentAuthorizationViewController_didChangeCouponCode_handler(
            &self,
            controller: &PKPaymentAuthorizationViewController,
            coupon_code: &NSString,
            completion: &block2::DynBlock<dyn Fn(NonNull<PKPaymentRequestCouponCodeUpdate>)>,
        );

        #[cfg(all(
            feature = "PKPaymentAuthorizationViewController",
            feature = "PKPaymentRequestStatus",
            feature = "PKPaymentSummaryItem",
            feature = "PKShippingMethod",
            feature = "block2",
            feature = "objc2-app-kit"
        ))]
        #[cfg(target_os = "macos")]
        #[optional]
        #[unsafe(method(paymentAuthorizationViewController:didSelectShippingMethod:handler:))]
        #[unsafe(method_family = none)]
        unsafe fn paymentAuthorizationViewController_didSelectShippingMethod_handler(
            &self,
            controller: &PKPaymentAuthorizationViewController,
            shipping_method: &PKShippingMethod,
            completion: &block2::DynBlock<dyn Fn(NonNull<PKPaymentRequestShippingMethodUpdate>)>,
        );

        #[cfg(all(
            feature = "PKContact",
            feature = "PKPaymentAuthorizationViewController",
            feature = "PKPaymentRequestStatus",
            feature = "block2",
            feature = "objc2-app-kit"
        ))]
        #[cfg(target_os = "macos")]
        #[optional]
        #[unsafe(method(paymentAuthorizationViewController:didSelectShippingContact:handler:))]
        #[unsafe(method_family = none)]
        unsafe fn paymentAuthorizationViewController_didSelectShippingContact_handler(
            &self,
            controller: &PKPaymentAuthorizationViewController,
            contact: &PKContact,
            completion: &block2::DynBlock<dyn Fn(NonNull<PKPaymentRequestShippingContactUpdate>)>,
        );

        #[cfg(all(
            feature = "PKPaymentAuthorizationViewController",
            feature = "PKPaymentMethod",
            feature = "PKPaymentRequestStatus",
            feature = "block2",
            feature = "objc2-app-kit"
        ))]
        #[cfg(target_os = "macos")]
        #[optional]
        #[unsafe(method(paymentAuthorizationViewController:didSelectPaymentMethod:handler:))]
        #[unsafe(method_family = none)]
        unsafe fn paymentAuthorizationViewController_didSelectPaymentMethod_handler(
            &self,
            controller: &PKPaymentAuthorizationViewController,
            payment_method: &PKPaymentMethod,
            completion: &block2::DynBlock<dyn Fn(NonNull<PKPaymentRequestPaymentMethodUpdate>)>,
        );

        #[cfg(all(
            feature = "PKConstants",
            feature = "PKPayment",
            feature = "PKPaymentAuthorizationViewController",
            feature = "block2",
            feature = "objc2-app-kit"
        ))]
        #[cfg(target_os = "macos")]
        #[deprecated = "Use paymentAuthorizationViewController:didAuthorizePayment:handler: instead to provide more granular errors"]
        #[optional]
        #[unsafe(method(paymentAuthorizationViewController:didAuthorizePayment:completion:))]
        #[unsafe(method_family = none)]
        unsafe fn paymentAuthorizationViewController_didAuthorizePayment_completion(
            &self,
            controller: &PKPaymentAuthorizationViewController,
            payment: &PKPayment,
            completion: &block2::DynBlock<dyn Fn(PKPaymentAuthorizationStatus)>,
        );

        #[cfg(all(
            feature = "PKConstants",
            feature = "PKPaymentAuthorizationViewController",
            feature = "PKPaymentSummaryItem",
            feature = "PKShippingMethod",
            feature = "block2",
            feature = "objc2-app-kit"
        ))]
        #[cfg(target_os = "macos")]
        #[deprecated = "Use paymentAuthorizationViewController:didSelectShippingMethod:handler: instead to provide more granular errors"]
        #[optional]
        #[unsafe(method(paymentAuthorizationViewController:didSelectShippingMethod:completion:))]
        #[unsafe(method_family = none)]
        unsafe fn paymentAuthorizationViewController_didSelectShippingMethod_completion(
            &self,
            controller: &PKPaymentAuthorizationViewController,
            shipping_method: &PKShippingMethod,
            completion: &block2::DynBlock<
                dyn Fn(PKPaymentAuthorizationStatus, NonNull<NSArray<PKPaymentSummaryItem>>),
            >,
        );

        #[cfg(all(
            feature = "PKConstants",
            feature = "PKContact",
            feature = "PKPaymentAuthorizationViewController",
            feature = "PKPaymentSummaryItem",
            feature = "PKShippingMethod",
            feature = "block2",
            feature = "objc2-app-kit"
        ))]
        #[cfg(target_os = "macos")]
        #[deprecated = "Use paymentAuthorizationViewController:didSelectShippingContact:handler: instead to provide more granular errors"]
        #[optional]
        #[unsafe(method(paymentAuthorizationViewController:didSelectShippingContact:completion:))]
        #[unsafe(method_family = none)]
        unsafe fn paymentAuthorizationViewController_didSelectShippingContact_completion(
            &self,
            controller: &PKPaymentAuthorizationViewController,
            contact: &PKContact,
            completion: &block2::DynBlock<
                dyn Fn(
                    PKPaymentAuthorizationStatus,
                    NonNull<NSArray<PKShippingMethod>>,
                    NonNull<NSArray<PKPaymentSummaryItem>>,
                ),
            >,
        );

        #[cfg(all(
            feature = "PKPaymentAuthorizationViewController",
            feature = "PKPaymentMethod",
            feature = "PKPaymentSummaryItem",
            feature = "block2",
            feature = "objc2-app-kit"
        ))]
        #[cfg(target_os = "macos")]
        #[deprecated = "Use paymentAuthorizationViewController:didSelectPaymentMethod:handler: instead to provide more granular errors"]
        #[optional]
        #[unsafe(method(paymentAuthorizationViewController:didSelectPaymentMethod:completion:))]
        #[unsafe(method_family = none)]
        unsafe fn paymentAuthorizationViewController_didSelectPaymentMethod_completion(
            &self,
            controller: &PKPaymentAuthorizationViewController,
            payment_method: &PKPaymentMethod,
            completion: &block2::DynBlock<dyn Fn(NonNull<NSArray<PKPaymentSummaryItem>>)>,
        );
    }
);