objc2-store-kit 0.3.2

Bindings to the StoreKit 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::*;

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

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/storekit/skadnetworkcoarseconversionvaluehigh?language=objc)
    pub static SKAdNetworkCoarseConversionValueHigh: &'static SKAdNetworkCoarseConversionValue;
}

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/storekit/skadnetworkcoarseconversionvaluemedium?language=objc)
    pub static SKAdNetworkCoarseConversionValueMedium: &'static SKAdNetworkCoarseConversionValue;
}

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/storekit/skadnetworkcoarseconversionvaluelow?language=objc)
    pub static SKAdNetworkCoarseConversionValueLow: &'static SKAdNetworkCoarseConversionValue;
}

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

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

impl SKAdNetwork {
    extern_methods!(
        #[cfg(all(feature = "SKAdImpression", feature = "block2"))]
        #[unsafe(method(startImpression:completionHandler:))]
        #[unsafe(method_family = none)]
        pub unsafe fn startImpression_completionHandler(
            impression: &SKAdImpression,
            completion: Option<&block2::DynBlock<dyn Fn(*mut NSError)>>,
        );

        #[cfg(all(feature = "SKAdImpression", feature = "block2"))]
        #[unsafe(method(endImpression:completionHandler:))]
        #[unsafe(method_family = none)]
        pub unsafe fn endImpression_completionHandler(
            impression: &SKAdImpression,
            completion: Option<&block2::DynBlock<dyn Fn(*mut NSError)>>,
        );

        #[deprecated = "Use updatePostbackConversionValue:completionHandler: instead"]
        #[unsafe(method(registerAppForAdNetworkAttribution))]
        #[unsafe(method_family = none)]
        pub unsafe fn registerAppForAdNetworkAttribution();

        #[deprecated = "Use updatePostbackConversionValue:completionHandler: instead"]
        #[unsafe(method(updateConversionValue:))]
        #[unsafe(method_family = none)]
        pub unsafe fn updateConversionValue(conversion_value: NSInteger);

        #[cfg(feature = "block2")]
        #[unsafe(method(updatePostbackConversionValue:completionHandler:))]
        #[unsafe(method_family = none)]
        pub unsafe fn updatePostbackConversionValue_completionHandler(
            conversion_value: NSInteger,
            completion: Option<&block2::DynBlock<dyn Fn(*mut NSError)>>,
        );

        #[cfg(feature = "block2")]
        #[unsafe(method(updatePostbackConversionValue:coarseValue:completionHandler:))]
        #[unsafe(method_family = none)]
        pub unsafe fn updatePostbackConversionValue_coarseValue_completionHandler(
            fine_value: NSInteger,
            coarse_value: &SKAdNetworkCoarseConversionValue,
            completion: Option<&block2::DynBlock<dyn Fn(*mut NSError)>>,
        );

        #[cfg(feature = "block2")]
        #[unsafe(method(updatePostbackConversionValue:coarseValue:lockWindow:completionHandler:))]
        #[unsafe(method_family = none)]
        pub unsafe fn updatePostbackConversionValue_coarseValue_lockWindow_completionHandler(
            fine_value: NSInteger,
            coarse_value: &SKAdNetworkCoarseConversionValue,
            lock_window: bool,
            completion: Option<&block2::DynBlock<dyn Fn(*mut NSError)>>,
        );
    );
}

/// Methods declared on superclass `NSObject`.
impl SKAdNetwork {
    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 "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/storekit/skstoreproductparameteradnetworkattributionsignature?language=objc)
    pub static SKStoreProductParameterAdNetworkAttributionSignature: &'static NSString;
}

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/storekit/skstoreproductparameteradnetworkcampaignidentifier?language=objc)
    pub static SKStoreProductParameterAdNetworkCampaignIdentifier: &'static NSString;
}

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/storekit/skstoreproductparameteradnetworksourceidentifier?language=objc)
    pub static SKStoreProductParameterAdNetworkSourceIdentifier: &'static NSString;
}

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/storekit/skstoreproductparameteradnetworkidentifier?language=objc)
    pub static SKStoreProductParameterAdNetworkIdentifier: &'static NSString;
}

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/storekit/skstoreproductparameteradnetworknonce?language=objc)
    pub static SKStoreProductParameterAdNetworkNonce: &'static NSString;
}

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/storekit/skstoreproductparameteradnetworktimestamp?language=objc)
    pub static SKStoreProductParameterAdNetworkTimestamp: &'static NSString;
}

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/storekit/skstoreproductparameteradnetworksourceappstoreidentifier?language=objc)
    pub static SKStoreProductParameterAdNetworkSourceAppStoreIdentifier: &'static NSString;
}

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/storekit/skstoreproductparameteradnetworkversion?language=objc)
    pub static SKStoreProductParameterAdNetworkVersion: &'static NSString;
}