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/inrestaurantguestdisplaypreferences?language=objc)
    #[unsafe(super(NSObject))]
    #[derive(Debug, PartialEq, Eq, Hash)]
    pub struct INRestaurantGuestDisplayPreferences;
);

extern_conformance!(
    unsafe impl NSCoding for INRestaurantGuestDisplayPreferences {}
);

extern_conformance!(
    unsafe impl NSCopying for INRestaurantGuestDisplayPreferences {}
);

unsafe impl CopyingHelper for INRestaurantGuestDisplayPreferences {
    type Result = Self;
}

extern_conformance!(
    unsafe impl NSObjectProtocol for INRestaurantGuestDisplayPreferences {}
);

extern_conformance!(
    unsafe impl NSSecureCoding for INRestaurantGuestDisplayPreferences {}
);

impl INRestaurantGuestDisplayPreferences {
    extern_methods!(
        #[unsafe(method(nameFieldFirstNameOptional))]
        #[unsafe(method_family = none)]
        pub unsafe fn nameFieldFirstNameOptional(&self) -> bool;

        /// Setter for [`nameFieldFirstNameOptional`][Self::nameFieldFirstNameOptional].
        #[unsafe(method(setNameFieldFirstNameOptional:))]
        #[unsafe(method_family = none)]
        pub unsafe fn setNameFieldFirstNameOptional(&self, name_field_first_name_optional: bool);

        #[unsafe(method(nameFieldLastNameOptional))]
        #[unsafe(method_family = none)]
        pub unsafe fn nameFieldLastNameOptional(&self) -> bool;

        /// Setter for [`nameFieldLastNameOptional`][Self::nameFieldLastNameOptional].
        #[unsafe(method(setNameFieldLastNameOptional:))]
        #[unsafe(method_family = none)]
        pub unsafe fn setNameFieldLastNameOptional(&self, name_field_last_name_optional: bool);

        #[unsafe(method(nameFieldShouldBeDisplayed))]
        #[unsafe(method_family = none)]
        pub unsafe fn nameFieldShouldBeDisplayed(&self) -> bool;

        /// Setter for [`nameFieldShouldBeDisplayed`][Self::nameFieldShouldBeDisplayed].
        #[unsafe(method(setNameFieldShouldBeDisplayed:))]
        #[unsafe(method_family = none)]
        pub unsafe fn setNameFieldShouldBeDisplayed(&self, name_field_should_be_displayed: bool);

        #[unsafe(method(emailAddressFieldShouldBeDisplayed))]
        #[unsafe(method_family = none)]
        pub unsafe fn emailAddressFieldShouldBeDisplayed(&self) -> bool;

        /// Setter for [`emailAddressFieldShouldBeDisplayed`][Self::emailAddressFieldShouldBeDisplayed].
        #[unsafe(method(setEmailAddressFieldShouldBeDisplayed:))]
        #[unsafe(method_family = none)]
        pub unsafe fn setEmailAddressFieldShouldBeDisplayed(
            &self,
            email_address_field_should_be_displayed: bool,
        );

        #[unsafe(method(phoneNumberFieldShouldBeDisplayed))]
        #[unsafe(method_family = none)]
        pub unsafe fn phoneNumberFieldShouldBeDisplayed(&self) -> bool;

        /// Setter for [`phoneNumberFieldShouldBeDisplayed`][Self::phoneNumberFieldShouldBeDisplayed].
        #[unsafe(method(setPhoneNumberFieldShouldBeDisplayed:))]
        #[unsafe(method_family = none)]
        pub unsafe fn setPhoneNumberFieldShouldBeDisplayed(
            &self,
            phone_number_field_should_be_displayed: bool,
        );

        #[unsafe(method(nameEditable))]
        #[unsafe(method_family = none)]
        pub unsafe fn nameEditable(&self) -> bool;

        /// Setter for [`nameEditable`][Self::nameEditable].
        #[unsafe(method(setNameEditable:))]
        #[unsafe(method_family = none)]
        pub unsafe fn setNameEditable(&self, name_editable: bool);

        #[unsafe(method(emailAddressEditable))]
        #[unsafe(method_family = none)]
        pub unsafe fn emailAddressEditable(&self) -> bool;

        /// Setter for [`emailAddressEditable`][Self::emailAddressEditable].
        #[unsafe(method(setEmailAddressEditable:))]
        #[unsafe(method_family = none)]
        pub unsafe fn setEmailAddressEditable(&self, email_address_editable: bool);

        #[unsafe(method(phoneNumberEditable))]
        #[unsafe(method_family = none)]
        pub unsafe fn phoneNumberEditable(&self) -> bool;

        /// Setter for [`phoneNumberEditable`][Self::phoneNumberEditable].
        #[unsafe(method(setPhoneNumberEditable:))]
        #[unsafe(method_family = none)]
        pub unsafe fn setPhoneNumberEditable(&self, phone_number_editable: bool);
    );
}

/// Methods declared on superclass `NSObject`.
impl INRestaurantGuestDisplayPreferences {
    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>;
    );
}