use crate::common::*;
use crate::AppKit::*;
use crate::Foundation::*;
use crate::StoreKit::*;
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
#[cfg(feature = "StoreKit_SKPayment")]
pub struct SKPayment;
#[cfg(feature = "StoreKit_SKPayment")]
unsafe impl ClassType for SKPayment {
type Super = NSObject;
type Mutability = InteriorMutable;
}
);
#[cfg(feature = "StoreKit_SKPayment")]
unsafe impl NSCopying for SKPayment {}
#[cfg(feature = "StoreKit_SKPayment")]
unsafe impl NSMutableCopying for SKPayment {}
#[cfg(feature = "StoreKit_SKPayment")]
unsafe impl NSObjectProtocol for SKPayment {}
extern_methods!(
#[cfg(feature = "StoreKit_SKPayment")]
unsafe impl SKPayment {
#[cfg(feature = "StoreKit_SKProduct")]
#[method_id(@__retain_semantics Other paymentWithProduct:)]
pub unsafe fn paymentWithProduct(product: &SKProduct) -> Id<Self>;
#[cfg(feature = "Foundation_NSString")]
#[deprecated]
#[method_id(@__retain_semantics Other paymentWithProductIdentifier:)]
pub unsafe fn paymentWithProductIdentifier(identifier: &NSString) -> Id<AnyObject>;
#[cfg(feature = "Foundation_NSString")]
#[method_id(@__retain_semantics Other productIdentifier)]
pub unsafe fn productIdentifier(&self) -> Id<NSString>;
#[cfg(feature = "Foundation_NSData")]
#[method_id(@__retain_semantics Other requestData)]
pub unsafe fn requestData(&self) -> Option<Id<NSData>>;
#[method(quantity)]
pub unsafe fn quantity(&self) -> NSInteger;
#[cfg(feature = "Foundation_NSString")]
#[method_id(@__retain_semantics Other applicationUsername)]
pub unsafe fn applicationUsername(&self) -> Option<Id<NSString>>;
#[method(simulatesAskToBuyInSandbox)]
pub unsafe fn simulatesAskToBuyInSandbox(&self) -> bool;
#[cfg(feature = "StoreKit_SKPaymentDiscount")]
#[method_id(@__retain_semantics Other paymentDiscount)]
pub unsafe fn paymentDiscount(&self) -> Option<Id<SKPaymentDiscount>>;
}
);
extern_methods!(
#[cfg(feature = "StoreKit_SKPayment")]
unsafe impl SKPayment {
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Allocated<Self>) -> Id<Self>;
#[method_id(@__retain_semantics New new)]
pub unsafe fn new() -> Id<Self>;
}
);
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
#[cfg(feature = "StoreKit_SKMutablePayment")]
pub struct SKMutablePayment;
#[cfg(feature = "StoreKit_SKMutablePayment")]
unsafe impl ClassType for SKMutablePayment {
#[inherits(NSObject)]
type Super = SKPayment;
type Mutability = InteriorMutable;
}
);
#[cfg(feature = "StoreKit_SKMutablePayment")]
unsafe impl NSCopying for SKMutablePayment {}
#[cfg(feature = "StoreKit_SKMutablePayment")]
unsafe impl NSMutableCopying for SKMutablePayment {}
#[cfg(feature = "StoreKit_SKMutablePayment")]
unsafe impl NSObjectProtocol for SKMutablePayment {}
extern_methods!(
#[cfg(feature = "StoreKit_SKMutablePayment")]
unsafe impl SKMutablePayment {
#[cfg(feature = "Foundation_NSString")]
#[method_id(@__retain_semantics Other applicationUsername)]
pub unsafe fn applicationUsername(&self) -> Option<Id<NSString>>;
#[cfg(feature = "Foundation_NSString")]
#[method(setApplicationUsername:)]
pub unsafe fn setApplicationUsername(&self, application_username: Option<&NSString>);
#[cfg(feature = "StoreKit_SKPaymentDiscount")]
#[method_id(@__retain_semantics Other paymentDiscount)]
pub unsafe fn paymentDiscount(&self) -> Option<Id<SKPaymentDiscount>>;
#[cfg(feature = "StoreKit_SKPaymentDiscount")]
#[method(setPaymentDiscount:)]
pub unsafe fn setPaymentDiscount(&self, payment_discount: Option<&SKPaymentDiscount>);
#[cfg(feature = "Foundation_NSString")]
#[method_id(@__retain_semantics Other productIdentifier)]
pub unsafe fn productIdentifier(&self) -> Id<NSString>;
#[cfg(feature = "Foundation_NSString")]
#[method(setProductIdentifier:)]
pub unsafe fn setProductIdentifier(&self, product_identifier: &NSString);
#[method(quantity)]
pub unsafe fn quantity(&self) -> NSInteger;
#[method(setQuantity:)]
pub unsafe fn setQuantity(&self, quantity: NSInteger);
#[cfg(feature = "Foundation_NSData")]
#[method_id(@__retain_semantics Other requestData)]
pub unsafe fn requestData(&self) -> Option<Id<NSData>>;
#[cfg(feature = "Foundation_NSData")]
#[method(setRequestData:)]
pub unsafe fn setRequestData(&self, request_data: Option<&NSData>);
#[method(simulatesAskToBuyInSandbox)]
pub unsafe fn simulatesAskToBuyInSandbox(&self) -> bool;
#[method(setSimulatesAskToBuyInSandbox:)]
pub unsafe fn setSimulatesAskToBuyInSandbox(&self, simulates_ask_to_buy_in_sandbox: bool);
}
);
extern_methods!(
#[cfg(feature = "StoreKit_SKMutablePayment")]
unsafe impl SKMutablePayment {
#[cfg(feature = "StoreKit_SKProduct")]
#[method_id(@__retain_semantics Other paymentWithProduct:)]
pub unsafe fn paymentWithProduct(product: &SKProduct) -> Id<Self>;
}
);
extern_methods!(
#[cfg(feature = "StoreKit_SKMutablePayment")]
unsafe impl SKMutablePayment {
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Allocated<Self>) -> Id<Self>;
#[method_id(@__retain_semantics New new)]
pub unsafe fn new() -> Id<Self>;
}
);