objc2-intents 0.3.2

Bindings to the Intents framework
Documentation
//! This file has been automatically generated by `objc2`'s `header-translator`.
//! DO NOT EDIT
use core::ffi::*;
use core::ptr::NonNull;
use objc2::__framework_prelude::*;
use objc2_foundation::*;

use crate::*;

extern_class!(
    /// [Apple's documentation](https://developer.apple.com/documentation/intents/inridecompletionstatus?language=objc)
    #[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>>;

        /// Setter for [`completionUserActivity`][Self::completionUserActivity].
        #[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")]
        /// Setter for [`defaultTippingOptions`][Self::defaultTippingOptions].
        #[unsafe(method(setDefaultTippingOptions:))]
        #[unsafe(method_family = none)]
        pub unsafe fn setDefaultTippingOptions(
            &self,
            default_tipping_options: Option<&NSSet<INCurrencyAmount>>,
        );
    );
}

/// Methods declared on superclass `NSObject`.
impl INRideCompletionStatus {
    extern_methods!(
        #[unsafe(method(new))]
        #[unsafe(method_family = new)]
        pub unsafe fn new() -> Retained<Self>;
    );
}