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_class!(
    /// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkbarcodeeventmetadatarequest?language=objc)
    #[unsafe(super(NSObject))]
    #[derive(Debug, PartialEq, Eq, Hash)]
    pub struct PKBarcodeEventMetadataRequest;
);

extern_conformance!(
    unsafe impl NSObjectProtocol for PKBarcodeEventMetadataRequest {}
);

impl PKBarcodeEventMetadataRequest {
    extern_methods!(
        #[unsafe(method(deviceAccountIdentifier))]
        #[unsafe(method_family = none)]
        pub unsafe fn deviceAccountIdentifier(&self) -> Retained<NSString>;

        #[unsafe(method(lastUsedBarcodeIdentifier))]
        #[unsafe(method_family = none)]
        pub unsafe fn lastUsedBarcodeIdentifier(&self) -> Retained<NSString>;
    );
}

/// Methods declared on superclass `NSObject`.
impl PKBarcodeEventMetadataRequest {
    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>;
    );
}

extern_class!(
    /// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkbarcodeeventmetadataresponse?language=objc)
    #[unsafe(super(NSObject))]
    #[derive(Debug, PartialEq, Eq, Hash)]
    pub struct PKBarcodeEventMetadataResponse;
);

extern_conformance!(
    unsafe impl NSObjectProtocol for PKBarcodeEventMetadataResponse {}
);

impl PKBarcodeEventMetadataResponse {
    extern_methods!(
        #[unsafe(method(initWithPaymentInformation:))]
        #[unsafe(method_family = init)]
        pub unsafe fn initWithPaymentInformation(
            this: Allocated<Self>,
            payment_information: &NSData,
        ) -> Retained<Self>;

        #[unsafe(method(paymentInformation))]
        #[unsafe(method_family = none)]
        pub unsafe fn paymentInformation(&self) -> Retained<NSData>;

        /// Setter for [`paymentInformation`][Self::paymentInformation].
        ///
        /// This is [copied][objc2_foundation::NSCopying::copy] when set.
        #[unsafe(method(setPaymentInformation:))]
        #[unsafe(method_family = none)]
        pub unsafe fn setPaymentInformation(&self, payment_information: &NSData);
    );
}

/// Methods declared on superclass `NSObject`.
impl PKBarcodeEventMetadataResponse {
    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>;
    );
}

extern_class!(
    /// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkbarcodeeventsignaturerequest?language=objc)
    #[unsafe(super(NSObject))]
    #[derive(Debug, PartialEq, Eq, Hash)]
    pub struct PKBarcodeEventSignatureRequest;
);

extern_conformance!(
    unsafe impl NSObjectProtocol for PKBarcodeEventSignatureRequest {}
);

impl PKBarcodeEventSignatureRequest {
    extern_methods!(
        #[unsafe(method(deviceAccountIdentifier))]
        #[unsafe(method_family = none)]
        pub unsafe fn deviceAccountIdentifier(&self) -> Retained<NSString>;

        #[unsafe(method(transactionIdentifier))]
        #[unsafe(method_family = none)]
        pub unsafe fn transactionIdentifier(&self) -> Retained<NSString>;

        #[unsafe(method(barcodeIdentifier))]
        #[unsafe(method_family = none)]
        pub unsafe fn barcodeIdentifier(&self) -> Retained<NSString>;

        #[unsafe(method(rawMerchantName))]
        #[unsafe(method_family = none)]
        pub unsafe fn rawMerchantName(&self) -> Retained<NSString>;

        #[unsafe(method(merchantName))]
        #[unsafe(method_family = none)]
        pub unsafe fn merchantName(&self) -> Retained<NSString>;

        #[unsafe(method(transactionDate))]
        #[unsafe(method_family = none)]
        pub unsafe fn transactionDate(&self) -> Retained<NSDate>;

        #[unsafe(method(currencyCode))]
        #[unsafe(method_family = none)]
        pub unsafe fn currencyCode(&self) -> Retained<NSString>;

        #[unsafe(method(amount))]
        #[unsafe(method_family = none)]
        pub unsafe fn amount(&self) -> Retained<NSNumber>;

        #[unsafe(method(transactionStatus))]
        #[unsafe(method_family = none)]
        pub unsafe fn transactionStatus(&self) -> Retained<NSString>;

        #[unsafe(method(partialSignature))]
        #[unsafe(method_family = none)]
        pub unsafe fn partialSignature(&self) -> Retained<NSData>;
    );
}

/// Methods declared on superclass `NSObject`.
impl PKBarcodeEventSignatureRequest {
    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>;
    );
}

extern_class!(
    /// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkbarcodeeventsignatureresponse?language=objc)
    #[unsafe(super(NSObject))]
    #[derive(Debug, PartialEq, Eq, Hash)]
    pub struct PKBarcodeEventSignatureResponse;
);

extern_conformance!(
    unsafe impl NSObjectProtocol for PKBarcodeEventSignatureResponse {}
);

impl PKBarcodeEventSignatureResponse {
    extern_methods!(
        #[unsafe(method(initWithSignedData:))]
        #[unsafe(method_family = init)]
        pub unsafe fn initWithSignedData(
            this: Allocated<Self>,
            signed_data: &NSData,
        ) -> Retained<Self>;

        #[unsafe(method(signedData))]
        #[unsafe(method_family = none)]
        pub unsafe fn signedData(&self) -> Retained<NSData>;

        /// Setter for [`signedData`][Self::signedData].
        ///
        /// This is [copied][objc2_foundation::NSCopying::copy] when set.
        #[unsafe(method(setSignedData:))]
        #[unsafe(method_family = none)]
        pub unsafe fn setSignedData(&self, signed_data: &NSData);
    );
}

/// Methods declared on superclass `NSObject`.
impl PKBarcodeEventSignatureResponse {
    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>;
    );
}

/// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkbarcodeeventconfigurationdatatype?language=objc)
// NS_ENUM
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct PKBarcodeEventConfigurationDataType(pub NSInteger);
impl PKBarcodeEventConfigurationDataType {
    #[doc(alias = "PKBarcodeEventConfigurationDataTypeUnknown")]
    pub const Unknown: Self = Self(0);
    #[doc(alias = "PKBarcodeEventConfigurationDataTypeSigningKeyMaterial")]
    pub const SigningKeyMaterial: Self = Self(1);
    #[doc(alias = "PKBarcodeEventConfigurationDataTypeSigningCertificate")]
    pub const SigningCertificate: Self = Self(2);
}

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

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

extern_class!(
    /// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkbarcodeeventconfigurationrequest?language=objc)
    #[unsafe(super(NSObject))]
    #[derive(Debug, PartialEq, Eq, Hash)]
    pub struct PKBarcodeEventConfigurationRequest;
);

extern_conformance!(
    unsafe impl NSObjectProtocol for PKBarcodeEventConfigurationRequest {}
);

impl PKBarcodeEventConfigurationRequest {
    extern_methods!(
        #[unsafe(method(deviceAccountIdentifier))]
        #[unsafe(method_family = none)]
        pub unsafe fn deviceAccountIdentifier(&self) -> Retained<NSString>;

        #[unsafe(method(configurationData))]
        #[unsafe(method_family = none)]
        pub unsafe fn configurationData(&self) -> Retained<NSData>;

        #[unsafe(method(configurationDataType))]
        #[unsafe(method_family = none)]
        pub unsafe fn configurationDataType(&self) -> PKBarcodeEventConfigurationDataType;
    );
}

/// Methods declared on superclass `NSObject`.
impl PKBarcodeEventConfigurationRequest {
    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>;
    );
}