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 objc2::__framework_prelude::*;
use objc2_foundation::*;

use crate::*;

mod private_NSUserActivityIntentsAdditions {
    pub trait Sealed {}
}

/// Category "IntentsAdditions" on [`NSUserActivity`].
#[doc(alias = "IntentsAdditions")]
pub unsafe trait NSUserActivityIntentsAdditions:
    ClassType + Sized + private_NSUserActivityIntentsAdditions::Sealed
{
    extern_methods!(
        #[cfg(feature = "INInteraction")]
        #[unsafe(method(interaction))]
        #[unsafe(method_family = none)]
        unsafe fn interaction(&self) -> Option<Retained<INInteraction>>;

        #[unsafe(method(suggestedInvocationPhrase))]
        #[unsafe(method_family = none)]
        unsafe fn suggestedInvocationPhrase(&self) -> Option<Retained<NSString>>;

        /// Setter for [`suggestedInvocationPhrase`][Self::suggestedInvocationPhrase].
        ///
        /// This is [copied][objc2_foundation::NSCopying::copy] when set.
        #[unsafe(method(setSuggestedInvocationPhrase:))]
        #[unsafe(method_family = none)]
        unsafe fn setSuggestedInvocationPhrase(
            &self,
            suggested_invocation_phrase: Option<&NSString>,
        );

        #[cfg(feature = "INShortcutAvailabilityOptions")]
        #[unsafe(method(shortcutAvailability))]
        #[unsafe(method_family = none)]
        unsafe fn shortcutAvailability(&self) -> INShortcutAvailabilityOptions;

        #[cfg(feature = "INShortcutAvailabilityOptions")]
        /// Setter for [`shortcutAvailability`][Self::shortcutAvailability].
        #[unsafe(method(setShortcutAvailability:))]
        #[unsafe(method_family = none)]
        unsafe fn setShortcutAvailability(
            &self,
            shortcut_availability: INShortcutAvailabilityOptions,
        );
    );
}

impl private_NSUserActivityIntentsAdditions::Sealed for NSUserActivity {}
unsafe impl NSUserActivityIntentsAdditions for NSUserActivity {}