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 INRideCompletionStatus;
);
extern_conformance!(
unsafe impl NSCoding for INRideCompletionStatus {}
);
extern_conformance!(
unsafe impl NSCopying for INRideCompletionStatus {}
);
unsafe impl CopyingHelper for INRideCompletionStatus {
type Result = Self;
}
extern_conformance!(
unsafe impl NSObjectProtocol for INRideCompletionStatus {}
);
extern_conformance!(
unsafe impl NSSecureCoding for INRideCompletionStatus {}
);
impl INRideCompletionStatus {
extern_methods!(
#[unsafe(method(init))]
#[unsafe(method_family = init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
#[unsafe(method(completed))]
#[unsafe(method_family = none)]
pub unsafe fn completed() -> Retained<Self>;
#[cfg(feature = "INCurrencyAmount")]
#[unsafe(method(completedWithSettledPaymentAmount:))]
#[unsafe(method_family = none)]
pub unsafe fn completedWithSettledPaymentAmount(
settled_payment_amount: &INCurrencyAmount,
) -> Retained<Self>;
#[cfg(feature = "INCurrencyAmount")]
#[unsafe(method(completedWithOutstandingPaymentAmount:))]
#[unsafe(method_family = none)]
pub unsafe fn completedWithOutstandingPaymentAmount(
outstanding_payment_amount: &INCurrencyAmount,
) -> Retained<Self>;
#[cfg(feature = "INRideFeedbackTypeOptions")]
#[unsafe(method(completedWithOutstandingFeedbackType:))]
#[unsafe(method_family = none)]
pub unsafe fn completedWithOutstandingFeedbackType(
feedback_type: INRideFeedbackTypeOptions,
) -> Retained<Self>;
#[unsafe(method(canceledByService))]
#[unsafe(method_family = none)]
pub unsafe fn canceledByService() -> Retained<Self>;
#[unsafe(method(canceledByUser))]
#[unsafe(method_family = none)]
pub unsafe fn canceledByUser() -> Retained<Self>;
#[unsafe(method(canceledMissedPickup))]
#[unsafe(method_family = none)]
pub unsafe fn canceledMissedPickup() -> Retained<Self>;
#[unsafe(method(completionUserActivity))]
#[unsafe(method_family = none)]
pub unsafe fn completionUserActivity(&self) -> Option<Retained<NSUserActivity>>;
#[unsafe(method(setCompletionUserActivity:))]
#[unsafe(method_family = none)]
pub unsafe fn setCompletionUserActivity(
&self,
completion_user_activity: Option<&NSUserActivity>,
);
#[unsafe(method(isCompleted))]
#[unsafe(method_family = none)]
pub unsafe fn isCompleted(&self) -> bool;
#[unsafe(method(isCanceled))]
#[unsafe(method_family = none)]
pub unsafe fn isCanceled(&self) -> bool;
#[unsafe(method(isMissedPickup))]
#[unsafe(method_family = none)]
pub unsafe fn isMissedPickup(&self) -> bool;
#[cfg(feature = "INCurrencyAmount")]
#[unsafe(method(paymentAmount))]
#[unsafe(method_family = none)]
pub unsafe fn paymentAmount(&self) -> Option<Retained<INCurrencyAmount>>;
#[cfg(feature = "INRideFeedbackTypeOptions")]
#[unsafe(method(feedbackType))]
#[unsafe(method_family = none)]
pub unsafe fn feedbackType(&self) -> INRideFeedbackTypeOptions;
#[unsafe(method(isOutstanding))]
#[unsafe(method_family = none)]
pub unsafe fn isOutstanding(&self) -> bool;
#[cfg(feature = "INCurrencyAmount")]
#[unsafe(method(defaultTippingOptions))]
#[unsafe(method_family = none)]
pub unsafe fn defaultTippingOptions(&self) -> Option<Retained<NSSet<INCurrencyAmount>>>;
#[cfg(feature = "INCurrencyAmount")]
#[unsafe(method(setDefaultTippingOptions:))]
#[unsafe(method_family = none)]
pub unsafe fn setDefaultTippingOptions(
&self,
default_tipping_options: Option<&NSSet<INCurrencyAmount>>,
);
);
}
impl INRideCompletionStatus {
extern_methods!(
#[unsafe(method(new))]
#[unsafe(method_family = new)]
pub unsafe fn new() -> Retained<Self>;
);
}