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"))]
70extern_conformance!(
71    unsafe impl NSCoding for NSPersonNameComponentsFormatter {}
72);
73
74#[cfg(all(feature = "NSFormatter", feature = "NSObject"))]
75extern_conformance!(
76    unsafe impl NSCopying for NSPersonNameComponentsFormatter {}
77);
78
79#[cfg(all(feature = "NSFormatter", feature = "NSObject"))]
80unsafe impl CopyingHelper for NSPersonNameComponentsFormatter {
81    type Result = Self;
82}
83
84#[cfg(feature = "NSFormatter")]
85extern_conformance!(
86    unsafe impl NSObjectProtocol for NSPersonNameComponentsFormatter {}
87);
88
89#[cfg(feature = "NSFormatter")]
90impl NSPersonNameComponentsFormatter {
91    extern_methods!(
92        #[unsafe(method(style))]
93        #[unsafe(method_family = none)]
94        pub unsafe fn style(&self) -> NSPersonNameComponentsFormatterStyle;
95
96        /// Setter for [`style`][Self::style].
97        #[unsafe(method(setStyle:))]
98        #[unsafe(method_family = none)]
99        pub unsafe fn setStyle(&self, style: NSPersonNameComponentsFormatterStyle);
100
101        #[unsafe(method(isPhonetic))]
102        #[unsafe(method_family = none)]
103        pub unsafe fn isPhonetic(&self) -> bool;
104
105        /// Setter for [`isPhonetic`][Self::isPhonetic].
106        #[unsafe(method(setPhonetic:))]
107        #[unsafe(method_family = none)]
108        pub unsafe fn setPhonetic(&self, phonetic: bool);
109
110        #[cfg(feature = "NSLocale")]
111        #[unsafe(method(locale))]
112        #[unsafe(method_family = none)]
113        pub unsafe fn locale(&self) -> Retained<NSLocale>;
114
115        #[cfg(feature = "NSLocale")]
116        /// Setter for [`locale`][Self::locale].
117        #[unsafe(method(setLocale:))]
118        #[unsafe(method_family = none)]
119        pub unsafe fn setLocale(&self, locale: Option<&NSLocale>);
120
121        #[cfg(all(feature = "NSPersonNameComponents", feature = "NSString"))]
122        #[unsafe(method(localizedStringFromPersonNameComponents:style:options:))]
123        #[unsafe(method_family = none)]
124        pub unsafe fn localizedStringFromPersonNameComponents_style_options(
125            components: &NSPersonNameComponents,
126            name_format_style: NSPersonNameComponentsFormatterStyle,
127            name_options: NSPersonNameComponentsFormatterOptions,
128        ) -> Retained<NSString>;
129
130        #[cfg(all(feature = "NSPersonNameComponents", feature = "NSString"))]
131        #[unsafe(method(stringFromPersonNameComponents:))]
132        #[unsafe(method_family = none)]
133        pub unsafe fn stringFromPersonNameComponents(
134            &self,
135            components: &NSPersonNameComponents,
136        ) -> Retained<NSString>;
137
138        #[cfg(all(feature = "NSAttributedString", feature = "NSPersonNameComponents"))]
139        #[unsafe(method(annotatedStringFromPersonNameComponents:))]
140        #[unsafe(method_family = none)]
141        pub unsafe fn annotatedStringFromPersonNameComponents(
142            &self,
143            components: &NSPersonNameComponents,
144        ) -> Retained<NSAttributedString>;
145
146        #[cfg(all(feature = "NSPersonNameComponents", feature = "NSString"))]
147        #[unsafe(method(personNameComponentsFromString:))]
148        #[unsafe(method_family = none)]
149        pub unsafe fn personNameComponentsFromString(
150            &self,
151            string: &NSString,
152        ) -> Option<Retained<NSPersonNameComponents>>;
153
154        #[cfg(feature = "NSString")]
155        #[unsafe(method(getObjectValue:forString:errorDescription:))]
156        #[unsafe(method_family = none)]
157        pub unsafe fn getObjectValue_forString_errorDescription(
158            &self,
159            obj: Option<&mut Option<Retained<AnyObject>>>,
160            string: &NSString,
161            error: Option<&mut Option<Retained<NSString>>>,
162        ) -> bool;
163    );
164}
165
166/// Methods declared on superclass `NSObject`.
167#[cfg(feature = "NSFormatter")]
168impl NSPersonNameComponentsFormatter {
169    extern_methods!(
170        #[unsafe(method(init))]
171        #[unsafe(method_family = init)]
172        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
173
174        #[unsafe(method(new))]
175        #[unsafe(method_family = new)]
176        pub unsafe fn new() -> Retained<Self>;
177    );
178}
179
180extern "C" {
181    /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nspersonnamecomponentkey?language=objc)
182    #[cfg(feature = "NSString")]
183    pub static NSPersonNameComponentKey: &'static NSString;
184}
185
186extern "C" {
187    /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nspersonnamecomponentgivenname?language=objc)
188    #[cfg(feature = "NSString")]
189    pub static NSPersonNameComponentGivenName: &'static NSString;
190}
191
192extern "C" {
193    /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nspersonnamecomponentfamilyname?language=objc)
194    #[cfg(feature = "NSString")]
195    pub static NSPersonNameComponentFamilyName: &'static NSString;
196}
197
198extern "C" {
199    /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nspersonnamecomponentmiddlename?language=objc)
200    #[cfg(feature = "NSString")]
201    pub static NSPersonNameComponentMiddleName: &'static NSString;
202}
203
204extern "C" {
205    /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nspersonnamecomponentprefix?language=objc)
206    #[cfg(feature = "NSString")]
207    pub static NSPersonNameComponentPrefix: &'static NSString;
208}
209
210extern "C" {
211    /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nspersonnamecomponentsuffix?language=objc)
212    #[cfg(feature = "NSString")]
213    pub static NSPersonNameComponentSuffix: &'static NSString;
214}
215
216extern "C" {
217    /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nspersonnamecomponentnickname?language=objc)
218    #[cfg(feature = "NSString")]
219    pub static NSPersonNameComponentNickname: &'static NSString;
220}
221
222extern "C" {
223    /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nspersonnamecomponentdelimiter?language=objc)
224    #[cfg(feature = "NSString")]
225    pub static NSPersonNameComponentDelimiter: &'static NSString;
226}