use core::ffi::*;
use core::ptr::NonNull;
use objc2::__framework_prelude::*;
use objc2_foundation::*;
use crate::*;
extern_class!(
#[unsafe(super(INIntent, NSObject))]
#[derive(Debug, PartialEq, Eq, Hash)]
#[cfg(feature = "INIntent")]
#[deprecated = "INPayBillIntent is deprecated. There is no replacement."]
pub struct INPayBillIntent;
);
#[cfg(feature = "INIntent")]
extern_conformance!(
unsafe impl NSCoding for INPayBillIntent {}
);
#[cfg(feature = "INIntent")]
extern_conformance!(
unsafe impl NSCopying for INPayBillIntent {}
);
#[cfg(feature = "INIntent")]
unsafe impl CopyingHelper for INPayBillIntent {
type Result = Self;
}
#[cfg(feature = "INIntent")]
extern_conformance!(
unsafe impl NSObjectProtocol for INPayBillIntent {}
);
#[cfg(feature = "INIntent")]
extern_conformance!(
unsafe impl NSSecureCoding for INPayBillIntent {}
);
#[cfg(feature = "INIntent")]
impl INPayBillIntent {
extern_methods!(
#[cfg(all(
feature = "INBillPayee",
feature = "INBillType",
feature = "INDateComponentsRange",
feature = "INPaymentAccount",
feature = "INPaymentAmount"
))]
#[deprecated = "INPayBillIntent is deprecated. There is no replacement."]
#[unsafe(method(initWithBillPayee:fromAccount:transactionAmount:transactionScheduledDate:transactionNote:billType:dueDate:))]
#[unsafe(method_family = init)]
pub unsafe fn initWithBillPayee_fromAccount_transactionAmount_transactionScheduledDate_transactionNote_billType_dueDate(
this: Allocated<Self>,
bill_payee: Option<&INBillPayee>,
from_account: Option<&INPaymentAccount>,
transaction_amount: Option<&INPaymentAmount>,
transaction_scheduled_date: Option<&INDateComponentsRange>,
transaction_note: Option<&NSString>,
bill_type: INBillType,
due_date: Option<&INDateComponentsRange>,
) -> Retained<Self>;
#[cfg(feature = "INBillPayee")]
#[deprecated = "INPayBillIntent is deprecated. There is no replacement."]
#[unsafe(method(billPayee))]
#[unsafe(method_family = none)]
pub unsafe fn billPayee(&self) -> Option<Retained<INBillPayee>>;
#[cfg(feature = "INPaymentAccount")]
#[deprecated = "INPayBillIntent is deprecated. There is no replacement."]
#[unsafe(method(fromAccount))]
#[unsafe(method_family = none)]
pub unsafe fn fromAccount(&self) -> Option<Retained<INPaymentAccount>>;
#[cfg(feature = "INPaymentAmount")]
#[deprecated = "INPayBillIntent is deprecated. There is no replacement."]
#[unsafe(method(transactionAmount))]
#[unsafe(method_family = none)]
pub unsafe fn transactionAmount(&self) -> Option<Retained<INPaymentAmount>>;
#[cfg(feature = "INDateComponentsRange")]
#[deprecated = "INPayBillIntent is deprecated. There is no replacement."]
#[unsafe(method(transactionScheduledDate))]
#[unsafe(method_family = none)]
pub unsafe fn transactionScheduledDate(&self) -> Option<Retained<INDateComponentsRange>>;
#[deprecated = "INPayBillIntent is deprecated. There is no replacement."]
#[unsafe(method(transactionNote))]
#[unsafe(method_family = none)]
pub unsafe fn transactionNote(&self) -> Option<Retained<NSString>>;
#[cfg(feature = "INBillType")]
#[deprecated = "INPayBillIntent is deprecated. There is no replacement."]
#[unsafe(method(billType))]
#[unsafe(method_family = none)]
pub unsafe fn billType(&self) -> INBillType;
#[cfg(feature = "INDateComponentsRange")]
#[deprecated = "INPayBillIntent is deprecated. There is no replacement."]
#[unsafe(method(dueDate))]
#[unsafe(method_family = none)]
pub unsafe fn dueDate(&self) -> Option<Retained<INDateComponentsRange>>;
);
}
#[cfg(feature = "INIntent")]
impl INPayBillIntent {
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_protocol!(
#[deprecated = "INPayBillIntentHandling is deprecated. There is no replacement."]
pub unsafe trait INPayBillIntentHandling: NSObjectProtocol {
#[cfg(all(
feature = "INIntent",
feature = "INIntentResponse",
feature = "INPayBillIntentResponse",
feature = "block2"
))]
#[deprecated = "INPayBillIntentHandling is deprecated. There is no replacement."]
#[unsafe(method(handlePayBill:completion:))]
#[unsafe(method_family = none)]
unsafe fn handlePayBill_completion(
&self,
intent: &INPayBillIntent,
completion: &block2::DynBlock<dyn Fn(NonNull<INPayBillIntentResponse>)>,
);
#[cfg(all(
feature = "INIntent",
feature = "INIntentResponse",
feature = "INPayBillIntentResponse",
feature = "block2"
))]
#[deprecated = "INPayBillIntentHandling is deprecated. There is no replacement."]
#[optional]
#[unsafe(method(confirmPayBill:completion:))]
#[unsafe(method_family = none)]
unsafe fn confirmPayBill_completion(
&self,
intent: &INPayBillIntent,
completion: &block2::DynBlock<dyn Fn(NonNull<INPayBillIntentResponse>)>,
);
#[cfg(all(
feature = "INBillPayeeResolutionResult",
feature = "INIntent",
feature = "INIntentResolutionResult",
feature = "block2"
))]
#[deprecated = "INPayBillIntentHandling is deprecated. There is no replacement."]
#[optional]
#[unsafe(method(resolveBillPayeeForPayBill:withCompletion:))]
#[unsafe(method_family = none)]
unsafe fn resolveBillPayeeForPayBill_withCompletion(
&self,
intent: &INPayBillIntent,
completion: &block2::DynBlock<dyn Fn(NonNull<INBillPayeeResolutionResult>)>,
);
#[cfg(all(
feature = "INIntent",
feature = "INIntentResolutionResult",
feature = "INPaymentAccountResolutionResult",
feature = "block2"
))]
#[deprecated = "INPayBillIntentHandling is deprecated. There is no replacement."]
#[optional]
#[unsafe(method(resolveFromAccountForPayBill:withCompletion:))]
#[unsafe(method_family = none)]
unsafe fn resolveFromAccountForPayBill_withCompletion(
&self,
intent: &INPayBillIntent,
completion: &block2::DynBlock<dyn Fn(NonNull<INPaymentAccountResolutionResult>)>,
);
#[cfg(all(
feature = "INIntent",
feature = "INIntentResolutionResult",
feature = "INPaymentAmountResolutionResult",
feature = "block2"
))]
#[deprecated = "INPayBillIntentHandling is deprecated. There is no replacement."]
#[optional]
#[unsafe(method(resolveTransactionAmountForPayBill:withCompletion:))]
#[unsafe(method_family = none)]
unsafe fn resolveTransactionAmountForPayBill_withCompletion(
&self,
intent: &INPayBillIntent,
completion: &block2::DynBlock<dyn Fn(NonNull<INPaymentAmountResolutionResult>)>,
);
#[cfg(all(
feature = "INDateComponentsRangeResolutionResult",
feature = "INIntent",
feature = "INIntentResolutionResult",
feature = "block2"
))]
#[deprecated = "INPayBillIntentHandling is deprecated. There is no replacement."]
#[optional]
#[unsafe(method(resolveTransactionScheduledDateForPayBill:withCompletion:))]
#[unsafe(method_family = none)]
unsafe fn resolveTransactionScheduledDateForPayBill_withCompletion(
&self,
intent: &INPayBillIntent,
completion: &block2::DynBlock<dyn Fn(NonNull<INDateComponentsRangeResolutionResult>)>,
);
#[cfg(all(
feature = "INIntent",
feature = "INIntentResolutionResult",
feature = "INStringResolutionResult",
feature = "block2"
))]
#[deprecated = "INPayBillIntentHandling is deprecated. There is no replacement."]
#[optional]
#[unsafe(method(resolveTransactionNoteForPayBill:withCompletion:))]
#[unsafe(method_family = none)]
unsafe fn resolveTransactionNoteForPayBill_withCompletion(
&self,
intent: &INPayBillIntent,
completion: &block2::DynBlock<dyn Fn(NonNull<INStringResolutionResult>)>,
);
#[cfg(all(
feature = "INBillTypeResolutionResult",
feature = "INIntent",
feature = "INIntentResolutionResult",
feature = "block2"
))]
#[deprecated = "INPayBillIntentHandling is deprecated. There is no replacement."]
#[optional]
#[unsafe(method(resolveBillTypeForPayBill:withCompletion:))]
#[unsafe(method_family = none)]
unsafe fn resolveBillTypeForPayBill_withCompletion(
&self,
intent: &INPayBillIntent,
completion: &block2::DynBlock<dyn Fn(NonNull<INBillTypeResolutionResult>)>,
);
#[cfg(all(
feature = "INDateComponentsRangeResolutionResult",
feature = "INIntent",
feature = "INIntentResolutionResult",
feature = "block2"
))]
#[deprecated = "INPayBillIntentHandling is deprecated. There is no replacement."]
#[optional]
#[unsafe(method(resolveDueDateForPayBill:withCompletion:))]
#[unsafe(method_family = none)]
unsafe fn resolveDueDateForPayBill_withCompletion(
&self,
intent: &INPayBillIntent,
completion: &block2::DynBlock<dyn Fn(NonNull<INDateComponentsRangeResolutionResult>)>,
);
}
);