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 objc2::__framework_prelude::*;
use objc2_foundation::*;

use crate::*;

/// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkencryptionscheme?language=objc)
// NS_TYPED_ENUM
pub type PKEncryptionScheme = NSString;

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkencryptionschemeecc_v2?language=objc)
    pub static PKEncryptionSchemeECC_V2: Option<&'static PKEncryptionScheme>;
}

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkencryptionschemersa_v2?language=objc)
    pub static PKEncryptionSchemeRSA_V2: Option<&'static PKEncryptionScheme>;
}

/// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkpaymentnetwork?language=objc)
// NS_TYPED_EXTENSIBLE_ENUM
pub type PKPaymentNetwork = NSString;

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkpaymentnetworkamex?language=objc)
    pub static PKPaymentNetworkAmex: Option<&'static PKPaymentNetwork>;
}

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkpaymentnetworkbancomat?language=objc)
    #[deprecated = "Use PKPaymentNetworkPagoBancomat instead."]
    pub static PKPaymentNetworkBancomat: Option<&'static PKPaymentNetwork>;
}

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkpaymentnetworkpagobancomat?language=objc)
    pub static PKPaymentNetworkPagoBancomat: Option<&'static PKPaymentNetwork>;
}

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkpaymentnetworkbancontact?language=objc)
    pub static PKPaymentNetworkBancontact: Option<&'static PKPaymentNetwork>;
}

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkpaymentnetworkcartebancaire?language=objc)
    #[deprecated = "Use PKPaymentNetworkCartesBancaires instead."]
    pub static PKPaymentNetworkCarteBancaire: Option<&'static PKPaymentNetwork>;
}

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkpaymentnetworkcartebancaires?language=objc)
    #[deprecated = "Use PKPaymentNetworkCartesBancaires instead."]
    pub static PKPaymentNetworkCarteBancaires: Option<&'static PKPaymentNetwork>;
}

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkpaymentnetworkcartesbancaires?language=objc)
    pub static PKPaymentNetworkCartesBancaires: Option<&'static PKPaymentNetwork>;
}

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkpaymentnetworkchinaunionpay?language=objc)
    pub static PKPaymentNetworkChinaUnionPay: Option<&'static PKPaymentNetwork>;
}

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkpaymentnetworkdankort?language=objc)
    pub static PKPaymentNetworkDankort: Option<&'static PKPaymentNetwork>;
}

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkpaymentnetworkdiscover?language=objc)
    pub static PKPaymentNetworkDiscover: Option<&'static PKPaymentNetwork>;
}

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkpaymentnetworkeftpos?language=objc)
    pub static PKPaymentNetworkEftpos: Option<&'static PKPaymentNetwork>;
}

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkpaymentnetworkelectron?language=objc)
    pub static PKPaymentNetworkElectron: Option<&'static PKPaymentNetwork>;
}

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkpaymentnetworkelo?language=objc)
    pub static PKPaymentNetworkElo: Option<&'static PKPaymentNetwork>;
}

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkpaymentnetworkidcredit?language=objc)
    pub static PKPaymentNetworkIDCredit: Option<&'static PKPaymentNetwork>;
}

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkpaymentnetworkinterac?language=objc)
    pub static PKPaymentNetworkInterac: Option<&'static PKPaymentNetwork>;
}

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkpaymentnetworkjcb?language=objc)
    pub static PKPaymentNetworkJCB: Option<&'static PKPaymentNetwork>;
}

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkpaymentnetworkmada?language=objc)
    pub static PKPaymentNetworkMada: Option<&'static PKPaymentNetwork>;
}

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkpaymentnetworkmaestro?language=objc)
    pub static PKPaymentNetworkMaestro: Option<&'static PKPaymentNetwork>;
}

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkpaymentnetworkmastercard?language=objc)
    pub static PKPaymentNetworkMasterCard: Option<&'static PKPaymentNetwork>;
}

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkpaymentnetworkmir?language=objc)
    pub static PKPaymentNetworkMir: Option<&'static PKPaymentNetwork>;
}

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkpaymentnetworkprivatelabel?language=objc)
    pub static PKPaymentNetworkPrivateLabel: Option<&'static PKPaymentNetwork>;
}

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkpaymentnetworkquicpay?language=objc)
    pub static PKPaymentNetworkQuicPay: Option<&'static PKPaymentNetwork>;
}

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkpaymentnetworksuica?language=objc)
    pub static PKPaymentNetworkSuica: Option<&'static PKPaymentNetwork>;
}

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkpaymentnetworkvisa?language=objc)
    pub static PKPaymentNetworkVisa: Option<&'static PKPaymentNetwork>;
}

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkpaymentnetworkvpay?language=objc)
    pub static PKPaymentNetworkVPay: Option<&'static PKPaymentNetwork>;
}

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkpaymentnetworkbarcode?language=objc)
    pub static PKPaymentNetworkBarcode: Option<&'static PKPaymentNetwork>;
}

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkpaymentnetworkgirocard?language=objc)
    pub static PKPaymentNetworkGirocard: Option<&'static PKPaymentNetwork>;
}

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkpaymentnetworkwaon?language=objc)
    pub static PKPaymentNetworkWaon: Option<&'static PKPaymentNetwork>;
}

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkpaymentnetworknanaco?language=objc)
    pub static PKPaymentNetworkNanaco: Option<&'static PKPaymentNetwork>;
}

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkpaymentnetworkpostfinance?language=objc)
    pub static PKPaymentNetworkPostFinance: Option<&'static PKPaymentNetwork>;
}

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkpaymentnetworktmoney?language=objc)
    pub static PKPaymentNetworkTmoney: Option<&'static PKPaymentNetwork>;
}

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkpaymentnetworkmeeza?language=objc)
    pub static PKPaymentNetworkMeeza: Option<&'static PKPaymentNetwork>;
}

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkpaymentnetworknapas?language=objc)
    pub static PKPaymentNetworkNAPAS: Option<&'static PKPaymentNetwork>;
}

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkpaymentnetworkbankaxept?language=objc)
    pub static PKPaymentNetworkBankAxept: Option<&'static PKPaymentNetwork>;
}

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkpaymentnetworkhimyan?language=objc)
    pub static PKPaymentNetworkHimyan: Option<&'static PKPaymentNetwork>;
}

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkpaymentnetworkjaywan?language=objc)
    pub static PKPaymentNetworkJaywan: Option<&'static PKPaymentNetwork>;
}

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkpaymentnetworkmydebit?language=objc)
    pub static PKPaymentNetworkMyDebit: Option<&'static PKPaymentNetwork>;
}

/// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkcontactfield?language=objc)
// NS_TYPED_ENUM
pub type PKContactField = NSString;

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkcontactfieldpostaladdress?language=objc)
    pub static PKContactFieldPostalAddress: Option<&'static PKContactField>;
}

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkcontactfieldemailaddress?language=objc)
    pub static PKContactFieldEmailAddress: Option<&'static PKContactField>;
}

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkcontactfieldphonenumber?language=objc)
    pub static PKContactFieldPhoneNumber: Option<&'static PKContactField>;
}

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkcontactfieldname?language=objc)
    pub static PKContactFieldName: Option<&'static PKContactField>;
}

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkcontactfieldphoneticname?language=objc)
    pub static PKContactFieldPhoneticName: Option<&'static PKContactField>;
}

/// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkpaymentauthorizationstatus?language=objc)
// NS_ENUM
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct PKPaymentAuthorizationStatus(pub NSInteger);
impl PKPaymentAuthorizationStatus {
    #[doc(alias = "PKPaymentAuthorizationStatusSuccess")]
    pub const Success: Self = Self(0);
    #[doc(alias = "PKPaymentAuthorizationStatusFailure")]
    pub const Failure: Self = Self(1);
    #[doc(alias = "PKPaymentAuthorizationStatusInvalidBillingPostalAddress")]
    #[deprecated = "Use PKPaymentAuthorizationResult with PKPaymentAuthorizationStatusFailure and include the result of -paymentBillingAddressInvalidErrorWithKey:localizedDescription: in the errors array."]
    pub const InvalidBillingPostalAddress: Self = Self(2);
    #[doc(alias = "PKPaymentAuthorizationStatusInvalidShippingPostalAddress")]
    #[deprecated = "Use PKPaymentAuthorizationResult with PKPaymentAuthorizationStatusFailure and include the result of -paymentShippingAddressInvalidErrorWithKey:localizedDescription: in the errors array."]
    pub const InvalidShippingPostalAddress: Self = Self(3);
    #[doc(alias = "PKPaymentAuthorizationStatusInvalidShippingContact")]
    #[deprecated = "Use PKPaymentAuthorizationResult with PKPaymentAuthorizationStatusFailure and include the result of -paymentContactInvalidErrorWithContactField:localizedDescription: in the errors array."]
    pub const InvalidShippingContact: Self = Self(4);
    #[doc(alias = "PKPaymentAuthorizationStatusPINRequired")]
    pub const PINRequired: Self = Self(5);
    #[doc(alias = "PKPaymentAuthorizationStatusPINIncorrect")]
    pub const PINIncorrect: Self = Self(6);
    #[doc(alias = "PKPaymentAuthorizationStatusPINLockout")]
    pub const PINLockout: Self = Self(7);
}

unsafe impl Encode for PKPaymentAuthorizationStatus {
    const ENCODING: Encoding = NSInteger::ENCODING;
}

unsafe impl RefEncode for PKPaymentAuthorizationStatus {
    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}

/// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkpaymentbuttonstyle?language=objc)
// NS_ENUM
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct PKPaymentButtonStyle(pub NSInteger);
impl PKPaymentButtonStyle {
    #[doc(alias = "PKPaymentButtonStyleWhite")]
    pub const White: Self = Self(0);
    #[doc(alias = "PKPaymentButtonStyleWhiteOutline")]
    pub const WhiteOutline: Self = Self(1);
    #[doc(alias = "PKPaymentButtonStyleBlack")]
    pub const Black: Self = Self(2);
    #[doc(alias = "PKPaymentButtonStyleAutomatic")]
    pub const Automatic: Self = Self(3);
}

unsafe impl Encode for PKPaymentButtonStyle {
    const ENCODING: Encoding = NSInteger::ENCODING;
}

unsafe impl RefEncode for PKPaymentButtonStyle {
    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}

/// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkpaymentbuttontype?language=objc)
// NS_ENUM
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct PKPaymentButtonType(pub NSInteger);
impl PKPaymentButtonType {
    #[doc(alias = "PKPaymentButtonTypePlain")]
    pub const Plain: Self = Self(0);
    #[doc(alias = "PKPaymentButtonTypeBuy")]
    pub const Buy: Self = Self(1);
    #[doc(alias = "PKPaymentButtonTypeSetUp")]
    pub const SetUp: Self = Self(2);
    #[doc(alias = "PKPaymentButtonTypeInStore")]
    pub const InStore: Self = Self(3);
    #[doc(alias = "PKPaymentButtonTypeDonate")]
    pub const Donate: Self = Self(4);
    #[doc(alias = "PKPaymentButtonTypeCheckout")]
    pub const Checkout: Self = Self(5);
    #[doc(alias = "PKPaymentButtonTypeBook")]
    pub const Book: Self = Self(6);
    #[doc(alias = "PKPaymentButtonTypeSubscribe")]
    pub const Subscribe: Self = Self(7);
    #[doc(alias = "PKPaymentButtonTypeReload")]
    pub const Reload: Self = Self(8);
    #[doc(alias = "PKPaymentButtonTypeAddMoney")]
    pub const AddMoney: Self = Self(9);
    #[doc(alias = "PKPaymentButtonTypeTopUp")]
    pub const TopUp: Self = Self(10);
    #[doc(alias = "PKPaymentButtonTypeOrder")]
    pub const Order: Self = Self(11);
    #[doc(alias = "PKPaymentButtonTypeRent")]
    pub const Rent: Self = Self(12);
    #[doc(alias = "PKPaymentButtonTypeSupport")]
    pub const Support: Self = Self(13);
    #[doc(alias = "PKPaymentButtonTypeContribute")]
    pub const Contribute: Self = Self(14);
    #[doc(alias = "PKPaymentButtonTypeTip")]
    pub const Tip: Self = Self(15);
    #[doc(alias = "PKPaymentButtonTypeContinue")]
    pub const Continue: Self = Self(16);
}

unsafe impl Encode for PKPaymentButtonType {
    const ENCODING: Encoding = NSInteger::ENCODING;
}

unsafe impl RefEncode for PKPaymentButtonType {
    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}

/// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkradiotechnology?language=objc)
// NS_OPTIONS
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct PKRadioTechnology(pub NSUInteger);
bitflags::bitflags! {
    impl PKRadioTechnology: NSUInteger {
        #[doc(alias = "PKRadioTechnologyNone")]
        const None = 0;
        #[doc(alias = "PKRadioTechnologyNFC")]
        const NFC = 1<<0;
        #[doc(alias = "PKRadioTechnologyBluetooth")]
        const Bluetooth = 1<<1;
    }
}

unsafe impl Encode for PKRadioTechnology {
    const ENCODING: Encoding = NSUInteger::ENCODING;
}

unsafe impl RefEncode for PKRadioTechnology {
    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}