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 SKAdImpression;
);
extern_conformance!(
unsafe impl NSObjectProtocol for SKAdImpression {}
);
impl SKAdImpression {
extern_methods!(
#[unsafe(method(sourceAppStoreItemIdentifier))]
#[unsafe(method_family = none)]
pub unsafe fn sourceAppStoreItemIdentifier(&self) -> Retained<NSNumber>;
#[unsafe(method(setSourceAppStoreItemIdentifier:))]
#[unsafe(method_family = none)]
pub unsafe fn setSourceAppStoreItemIdentifier(
&self,
source_app_store_item_identifier: &NSNumber,
);
#[unsafe(method(advertisedAppStoreItemIdentifier))]
#[unsafe(method_family = none)]
pub unsafe fn advertisedAppStoreItemIdentifier(&self) -> Retained<NSNumber>;
#[unsafe(method(setAdvertisedAppStoreItemIdentifier:))]
#[unsafe(method_family = none)]
pub unsafe fn setAdvertisedAppStoreItemIdentifier(
&self,
advertised_app_store_item_identifier: &NSNumber,
);
#[unsafe(method(adNetworkIdentifier))]
#[unsafe(method_family = none)]
pub unsafe fn adNetworkIdentifier(&self) -> Retained<NSString>;
#[unsafe(method(setAdNetworkIdentifier:))]
#[unsafe(method_family = none)]
pub unsafe fn setAdNetworkIdentifier(&self, ad_network_identifier: &NSString);
#[unsafe(method(adCampaignIdentifier))]
#[unsafe(method_family = none)]
pub unsafe fn adCampaignIdentifier(&self) -> Retained<NSNumber>;
#[unsafe(method(setAdCampaignIdentifier:))]
#[unsafe(method_family = none)]
pub unsafe fn setAdCampaignIdentifier(&self, ad_campaign_identifier: &NSNumber);
#[unsafe(method(sourceIdentifier))]
#[unsafe(method_family = none)]
pub unsafe fn sourceIdentifier(&self) -> Retained<NSNumber>;
#[unsafe(method(setSourceIdentifier:))]
#[unsafe(method_family = none)]
pub unsafe fn setSourceIdentifier(&self, source_identifier: &NSNumber);
#[unsafe(method(adImpressionIdentifier))]
#[unsafe(method_family = none)]
pub unsafe fn adImpressionIdentifier(&self) -> Retained<NSString>;
#[unsafe(method(setAdImpressionIdentifier:))]
#[unsafe(method_family = none)]
pub unsafe fn setAdImpressionIdentifier(&self, ad_impression_identifier: &NSString);
#[unsafe(method(adType))]
#[unsafe(method_family = none)]
pub unsafe fn adType(&self) -> Option<Retained<NSString>>;
#[unsafe(method(setAdType:))]
#[unsafe(method_family = none)]
pub unsafe fn setAdType(&self, ad_type: Option<&NSString>);
#[unsafe(method(adDescription))]
#[unsafe(method_family = none)]
pub unsafe fn adDescription(&self) -> Option<Retained<NSString>>;
#[unsafe(method(setAdDescription:))]
#[unsafe(method_family = none)]
pub unsafe fn setAdDescription(&self, ad_description: Option<&NSString>);
#[unsafe(method(adPurchaserName))]
#[unsafe(method_family = none)]
pub unsafe fn adPurchaserName(&self) -> Option<Retained<NSString>>;
#[unsafe(method(setAdPurchaserName:))]
#[unsafe(method_family = none)]
pub unsafe fn setAdPurchaserName(&self, ad_purchaser_name: Option<&NSString>);
#[unsafe(method(timestamp))]
#[unsafe(method_family = none)]
pub unsafe fn timestamp(&self) -> Retained<NSNumber>;
#[unsafe(method(setTimestamp:))]
#[unsafe(method_family = none)]
pub unsafe fn setTimestamp(&self, timestamp: &NSNumber);
#[unsafe(method(signature))]
#[unsafe(method_family = none)]
pub unsafe fn signature(&self) -> Retained<NSString>;
#[unsafe(method(setSignature:))]
#[unsafe(method_family = none)]
pub unsafe fn setSignature(&self, signature: &NSString);
#[unsafe(method(version))]
#[unsafe(method_family = none)]
pub unsafe fn version(&self) -> Retained<NSString>;
#[unsafe(method(setVersion:))]
#[unsafe(method_family = none)]
pub unsafe fn setVersion(&self, version: &NSString);
);
}
impl SKAdImpression {
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>;
);
}