objc2_store_kit/generated/
SKProductDiscount.rs

1//! This file has been automatically generated by `objc2`'s `header-translator`.
2//! DO NOT EDIT
3use core::ptr::NonNull;
4use objc2::__framework_prelude::*;
5use objc2_foundation::*;
6
7use crate::*;
8
9/// [Apple's documentation](https://developer.apple.com/documentation/storekit/skproductdiscountpaymentmode?language=objc)
10// NS_ENUM
11#[deprecated = "Use Product.SubscriptionOffer.PaymentMode"]
12#[repr(transparent)]
13#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
14pub struct SKProductDiscountPaymentMode(pub NSUInteger);
15impl SKProductDiscountPaymentMode {
16    #[deprecated = "Use Product.SubscriptionOffer.PaymentMode"]
17    #[doc(alias = "SKProductDiscountPaymentModePayAsYouGo")]
18    pub const PayAsYouGo: Self = Self(0);
19    #[deprecated = "Use Product.SubscriptionOffer.PaymentMode"]
20    #[doc(alias = "SKProductDiscountPaymentModePayUpFront")]
21    pub const PayUpFront: Self = Self(1);
22    #[deprecated = "Use Product.SubscriptionOffer.PaymentMode"]
23    #[doc(alias = "SKProductDiscountPaymentModeFreeTrial")]
24    pub const FreeTrial: Self = Self(2);
25}
26
27unsafe impl Encode for SKProductDiscountPaymentMode {
28    const ENCODING: Encoding = NSUInteger::ENCODING;
29}
30
31unsafe impl RefEncode for SKProductDiscountPaymentMode {
32    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
33}
34
35/// [Apple's documentation](https://developer.apple.com/documentation/storekit/skproductdiscounttype?language=objc)
36// NS_ENUM
37#[deprecated = "Use Product.SubscriptionOffer.OfferType"]
38#[repr(transparent)]
39#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
40pub struct SKProductDiscountType(pub NSUInteger);
41impl SKProductDiscountType {
42    #[deprecated = "Use Product.SubscriptionOffer.OfferType"]
43    #[doc(alias = "SKProductDiscountTypeIntroductory")]
44    pub const Introductory: Self = Self(0);
45    #[deprecated = "Use Product.SubscriptionOffer.OfferType"]
46    #[doc(alias = "SKProductDiscountTypeSubscription")]
47    pub const Subscription: Self = Self(1);
48}
49
50unsafe impl Encode for SKProductDiscountType {
51    const ENCODING: Encoding = NSUInteger::ENCODING;
52}
53
54unsafe impl RefEncode for SKProductDiscountType {
55    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
56}
57
58extern_class!(
59    /// [Apple's documentation](https://developer.apple.com/documentation/storekit/skproductdiscount?language=objc)
60    #[unsafe(super(NSObject))]
61    #[derive(Debug, PartialEq, Eq, Hash)]
62    #[deprecated = "Use Product.SubscriptionOffer"]
63    pub struct SKProductDiscount;
64);
65
66unsafe impl Send for SKProductDiscount {}
67
68unsafe impl Sync for SKProductDiscount {}
69
70unsafe impl NSObjectProtocol for SKProductDiscount {}
71
72impl SKProductDiscount {
73    extern_methods!(
74        #[deprecated = "Use Product.SubscriptionOffer.displayPrice"]
75        #[unsafe(method(price))]
76        #[unsafe(method_family = none)]
77        pub unsafe fn price(&self) -> Retained<NSDecimalNumber>;
78
79        #[deprecated = "Use Product.SubscriptionOffer.displayPrice"]
80        #[unsafe(method(priceLocale))]
81        #[unsafe(method_family = none)]
82        pub unsafe fn priceLocale(&self) -> Retained<NSLocale>;
83
84        #[deprecated = "Use Product.SubscriptionOffer.id"]
85        #[unsafe(method(identifier))]
86        #[unsafe(method_family = none)]
87        pub unsafe fn identifier(&self) -> Option<Retained<NSString>>;
88
89        #[cfg(feature = "SKProduct")]
90        #[deprecated = "Use Product.SubscriptionOffer.period"]
91        #[unsafe(method(subscriptionPeriod))]
92        #[unsafe(method_family = none)]
93        pub unsafe fn subscriptionPeriod(&self) -> Retained<SKProductSubscriptionPeriod>;
94
95        #[deprecated = "Use Product.SubscriptionOffer.periodCount"]
96        #[unsafe(method(numberOfPeriods))]
97        #[unsafe(method_family = none)]
98        pub unsafe fn numberOfPeriods(&self) -> NSUInteger;
99
100        #[deprecated = "Use Product.SubscriptionOffer.paymentMode"]
101        #[unsafe(method(paymentMode))]
102        #[unsafe(method_family = none)]
103        pub unsafe fn paymentMode(&self) -> SKProductDiscountPaymentMode;
104
105        #[deprecated = "Use Product.SubscriptionOffer.type"]
106        #[unsafe(method(type))]
107        #[unsafe(method_family = none)]
108        pub unsafe fn r#type(&self) -> SKProductDiscountType;
109    );
110}
111
112/// Methods declared on superclass `NSObject`.
113impl SKProductDiscount {
114    extern_methods!(
115        #[unsafe(method(init))]
116        #[unsafe(method_family = init)]
117        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
118
119        #[unsafe(method(new))]
120        #[unsafe(method_family = new)]
121        pub unsafe fn new() -> Retained<Self>;
122    );
123}