objc2_foundation/generated/
NSPersonNameComponentsFormatter.rs

1//! This file has been automatically generated by `objc2`'s `header-translator`.
2//! DO NOT EDIT
3use core::ffi::*;
4use core::ptr::NonNull;
5use objc2::__framework_prelude::*;
6
7use crate::*;
8
9/// [Apple's documentation](https://developer.apple.com/documentation/foundation/nspersonnamecomponentsformatterstyle?language=objc)
10// NS_ENUM
11#[repr(transparent)]
12#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
13pub struct NSPersonNameComponentsFormatterStyle(pub NSInteger);
14impl NSPersonNameComponentsFormatterStyle {
15    #[doc(alias = "NSPersonNameComponentsFormatterStyleDefault")]
16    pub const Default: Self = Self(0);
17    #[doc(alias = "NSPersonNameComponentsFormatterStyleShort")]
18    pub const Short: Self = Self(1);
19    #[doc(alias = "NSPersonNameComponentsFormatterStyleMedium")]
20    pub const Medium: Self = Self(2);
21    #[doc(alias = "NSPersonNameComponentsFormatterStyleLong")]
22    pub const Long: Self = Self(3);
23    #[doc(alias = "NSPersonNameComponentsFormatterStyleAbbreviated")]
24    pub const Abbreviated: Self = Self(4);
25}
26
27unsafe impl Encode for NSPersonNameComponentsFormatterStyle {
28    const ENCODING: Encoding = NSInteger::ENCODING;
29}
30
31unsafe impl RefEncode for NSPersonNameComponentsFormatterStyle {
32    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
33}
34
35/// [Apple's documentation](https://developer.apple.com/documentation/foundation/nspersonnamecomponentsformatteroptions?language=objc)
36// NS_OPTIONS
37#[repr(transparent)]
38#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
39pub struct NSPersonNameComponentsFormatterOptions(pub NSUInteger);
40bitflags::bitflags! {
41    impl NSPersonNameComponentsFormatterOptions: NSUInteger {
42        #[doc(alias = "NSPersonNameComponentsFormatterPhonetic")]
43        const Phonetic = 1<<1;
44    }
45}
46
47unsafe impl Encode for NSPersonNameComponentsFormatterOptions {
48    const ENCODING: Encoding = NSUInteger::ENCODING;
49}
50
51unsafe impl RefEncode for NSPersonNameComponentsFormatterOptions {
52    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
53}
54
55extern_class!(
56    /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nspersonnamecomponentsformatter?language=objc)
57    #[unsafe(super(NSFormatter, NSObject))]
58    #[derive(Debug, PartialEq, Eq, Hash)]
59    #[cfg(feature = "NSFormatter")]
60    pub struct NSPersonNameComponentsFormatter;
61);
62
63#[cfg(feature = "NSFormatter")]
64unsafe impl Send for NSPersonNameComponentsFormatter {}
65
66#[cfg(feature = "NSFormatter")]
67unsafe impl Sync for NSPersonNameComponentsFormatter {}
68
69#[cfg(all(feature = "NSFormatter", feature = "NSObject"))]
70unsafe impl NSCoding for NSPersonNameComponentsFormatter {}
71
72#[cfg(all(feature = "NSFormatter", feature = "NSObject"))]
73unsafe impl NSCopying for NSPersonNameComponentsFormatter {}
74
75#[cfg(all(feature = "NSFormatter", feature = "NSObject"))]
76unsafe impl CopyingHelper for NSPersonNameComponentsFormatter {
77    type Result = Self;
78}
79
80#[cfg(feature = "NSFormatter")]
81unsafe impl NSObjectProtocol for NSPersonNameComponentsFormatter {}
82
83#[cfg(feature = "NSFormatter")]
84impl NSPersonNameComponentsFormatter {
85    extern_methods!(
86        #[unsafe(method(style))]
87        #[unsafe(method_family = none)]
88        pub unsafe fn style(&self) -> NSPersonNameComponentsFormatterStyle;
89
90        /// Setter for [`style`][Self::style].
91        #[unsafe(method(setStyle:))]
92        #[unsafe(method_family = none)]
93        pub unsafe fn setStyle(&self, style: NSPersonNameComponentsFormatterStyle);
94
95        #[unsafe(method(isPhonetic))]
96        #[unsafe(method_family = none)]
97        pub unsafe fn isPhonetic(&self) -> bool;
98
99        /// Setter for [`isPhonetic`][Self::isPhonetic].
100        #[unsafe(method(setPhonetic:))]
101        #[unsafe(method_family = none)]
102        pub unsafe fn setPhonetic(&self, phonetic: bool);
103
104        #[cfg(feature = "NSLocale")]
105        #[unsafe(method(locale))]
106        #[unsafe(method_family = none)]
107        pub unsafe fn locale(&self) -> Retained<NSLocale>;
108
109        #[cfg(feature = "NSLocale")]
110        /// Setter for [`locale`][Self::locale].
111        #[unsafe(method(setLocale:))]
112        #[unsafe(method_family = none)]
113        pub unsafe fn setLocale(&self, locale: Option<&NSLocale>);
114
115        #[cfg(all(feature = "NSPersonNameComponents", feature = "NSString"))]
116        #[unsafe(method(localizedStringFromPersonNameComponents:style:options:))]
117        #[unsafe(method_family = none)]
118        pub unsafe fn localizedStringFromPersonNameComponents_style_options(
119            components: &NSPersonNameComponents,
120            name_format_style: NSPersonNameComponentsFormatterStyle,
121            name_options: NSPersonNameComponentsFormatterOptions,
122        ) -> Retained<NSString>;
123
124        #[cfg(all(feature = "NSPersonNameComponents", feature = "NSString"))]
125        #[unsafe(method(stringFromPersonNameComponents:))]
126        #[unsafe(method_family = none)]
127        pub unsafe fn stringFromPersonNameComponents(
128            &self,
129            components: &NSPersonNameComponents,
130        ) -> Retained<NSString>;
131
132        #[cfg(all(feature = "NSAttributedString", feature = "NSPersonNameComponents"))]
133        #[unsafe(method(annotatedStringFromPersonNameComponents:))]
134        #[unsafe(method_family = none)]
135        pub unsafe fn annotatedStringFromPersonNameComponents(
136            &self,
137            components: &NSPersonNameComponents,
138        ) -> Retained<NSAttributedString>;
139
140        #[cfg(all(feature = "NSPersonNameComponents", feature = "NSString"))]
141        #[unsafe(method(personNameComponentsFromString:))]
142        #[unsafe(method_family = none)]
143        pub unsafe fn personNameComponentsFromString(
144            &self,
145            string: &NSString,
146        ) -> Option<Retained<NSPersonNameComponents>>;
147
148        #[cfg(feature = "NSString")]
149        #[unsafe(method(getObjectValue:forString:errorDescription:))]
150        #[unsafe(method_family = none)]
151        pub unsafe fn getObjectValue_forString_errorDescription(
152            &self,
153            obj: Option<&mut Option<Retained<AnyObject>>>,
154            string: &NSString,
155            error: Option<&mut Option<Retained<NSString>>>,
156        ) -> bool;
157    );
158}
159
160/// Methods declared on superclass `NSObject`.
161#[cfg(feature = "NSFormatter")]
162impl NSPersonNameComponentsFormatter {
163    extern_methods!(
164        #[unsafe(method(init))]
165        #[unsafe(method_family = init)]
166        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
167
168        #[unsafe(method(new))]
169        #[unsafe(method_family = new)]
170        pub unsafe fn new() -> Retained<Self>;
171    );
172}
173
174extern "C" {
175    /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nspersonnamecomponentkey?language=objc)
176    #[cfg(feature = "NSString")]
177    pub static NSPersonNameComponentKey: &'static NSString;
178}
179
180extern "C" {
181    /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nspersonnamecomponentgivenname?language=objc)
182    #[cfg(feature = "NSString")]
183    pub static NSPersonNameComponentGivenName: &'static NSString;
184}
185
186extern "C" {
187    /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nspersonnamecomponentfamilyname?language=objc)
188    #[cfg(feature = "NSString")]
189    pub static NSPersonNameComponentFamilyName: &'static NSString;
190}
191
192extern "C" {
193    /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nspersonnamecomponentmiddlename?language=objc)
194    #[cfg(feature = "NSString")]
195    pub static NSPersonNameComponentMiddleName: &'static NSString;
196}
197
198extern "C" {
199    /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nspersonnamecomponentprefix?language=objc)
200    #[cfg(feature = "NSString")]
201    pub static NSPersonNameComponentPrefix: &'static NSString;
202}
203
204extern "C" {
205    /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nspersonnamecomponentsuffix?language=objc)
206    #[cfg(feature = "NSString")]
207    pub static NSPersonNameComponentSuffix: &'static NSString;
208}
209
210extern "C" {
211    /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nspersonnamecomponentnickname?language=objc)
212    #[cfg(feature = "NSString")]
213    pub static NSPersonNameComponentNickname: &'static NSString;
214}
215
216extern "C" {
217    /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nspersonnamecomponentdelimiter?language=objc)
218    #[cfg(feature = "NSString")]
219    pub static NSPersonNameComponentDelimiter: &'static NSString;
220}