objc2_foundation/generated/
NSLocale.rs1use core::ptr::NonNull;
4use objc2::__framework_prelude::*;
5#[cfg(feature = "objc2-core-foundation")]
6use objc2_core_foundation::*;
7
8use crate::*;
9
10#[cfg(feature = "NSString")]
13pub type NSLocaleKey = NSString;
14
15extern_class!(
16 #[unsafe(super(NSObject))]
18 #[derive(Debug, PartialEq, Eq, Hash)]
19 pub struct NSLocale;
20);
21
22unsafe impl Send for NSLocale {}
23
24unsafe impl Sync for NSLocale {}
25
26#[cfg(feature = "objc2-core-foundation")]
27impl AsRef<NSLocale> for CFLocale {
28 #[inline]
29 fn as_ref(&self) -> &NSLocale {
30 unsafe { &*((self as *const Self).cast()) }
31 }
32}
33
34#[cfg(feature = "objc2-core-foundation")]
35impl AsRef<CFLocale> for NSLocale {
36 #[inline]
37 fn as_ref(&self) -> &CFLocale {
38 unsafe { &*((self as *const Self).cast()) }
39 }
40}
41
42#[cfg(feature = "NSObject")]
43extern_conformance!(
44 unsafe impl NSCoding for NSLocale {}
45);
46
47#[cfg(feature = "NSObject")]
48extern_conformance!(
49 unsafe impl NSCopying for NSLocale {}
50);
51
52#[cfg(feature = "NSObject")]
53unsafe impl CopyingHelper for NSLocale {
54 type Result = Self;
55}
56
57extern_conformance!(
58 unsafe impl NSObjectProtocol for NSLocale {}
59);
60
61#[cfg(feature = "NSObject")]
62extern_conformance!(
63 unsafe impl NSSecureCoding for NSLocale {}
64);
65
66impl NSLocale {
67 extern_methods!(
68 #[cfg(feature = "NSString")]
69 #[unsafe(method(objectForKey:))]
70 #[unsafe(method_family = none)]
71 pub fn objectForKey(&self, key: &NSLocaleKey) -> Option<Retained<AnyObject>>;
72
73 #[cfg(feature = "NSString")]
74 #[unsafe(method(displayNameForKey:value:))]
78 #[unsafe(method_family = none)]
79 pub unsafe fn displayNameForKey_value(
80 &self,
81 key: &NSLocaleKey,
82 value: &AnyObject,
83 ) -> Option<Retained<NSString>>;
84
85 #[cfg(feature = "NSString")]
86 #[unsafe(method(initWithLocaleIdentifier:))]
87 #[unsafe(method_family = init)]
88 pub fn initWithLocaleIdentifier(this: Allocated<Self>, string: &NSString)
89 -> Retained<Self>;
90
91 #[cfg(feature = "NSCoder")]
92 #[unsafe(method(initWithCoder:))]
96 #[unsafe(method_family = init)]
97 pub unsafe fn initWithCoder(
98 this: Allocated<Self>,
99 coder: &NSCoder,
100 ) -> Option<Retained<Self>>;
101 );
102}
103
104impl NSLocale {
106 extern_methods!(
107 #[cfg(feature = "NSString")]
108 #[unsafe(method(localeIdentifier))]
109 #[unsafe(method_family = none)]
110 pub fn localeIdentifier(&self) -> Retained<NSString>;
111
112 #[cfg(feature = "NSString")]
113 #[unsafe(method(localizedStringForLocaleIdentifier:))]
114 #[unsafe(method_family = none)]
115 pub fn localizedStringForLocaleIdentifier(
116 &self,
117 locale_identifier: &NSString,
118 ) -> Retained<NSString>;
119
120 #[cfg(feature = "NSString")]
121 #[unsafe(method(languageCode))]
122 #[unsafe(method_family = none)]
123 pub fn languageCode(&self) -> Retained<NSString>;
124
125 #[cfg(feature = "NSString")]
126 #[unsafe(method(localizedStringForLanguageCode:))]
127 #[unsafe(method_family = none)]
128 pub fn localizedStringForLanguageCode(
129 &self,
130 language_code: &NSString,
131 ) -> Option<Retained<NSString>>;
132
133 #[cfg(feature = "NSString")]
134 #[unsafe(method(languageIdentifier))]
136 #[unsafe(method_family = none)]
137 pub fn languageIdentifier(&self) -> Retained<NSString>;
138
139 #[cfg(feature = "NSString")]
140 #[deprecated]
141 #[unsafe(method(countryCode))]
142 #[unsafe(method_family = none)]
143 pub fn countryCode(&self) -> Option<Retained<NSString>>;
144
145 #[cfg(feature = "NSString")]
146 #[unsafe(method(localizedStringForCountryCode:))]
147 #[unsafe(method_family = none)]
148 pub fn localizedStringForCountryCode(
149 &self,
150 country_code: &NSString,
151 ) -> Option<Retained<NSString>>;
152
153 #[cfg(feature = "NSString")]
154 #[unsafe(method(regionCode))]
158 #[unsafe(method_family = none)]
159 pub fn regionCode(&self) -> Option<Retained<NSString>>;
160
161 #[cfg(feature = "NSString")]
162 #[unsafe(method(scriptCode))]
163 #[unsafe(method_family = none)]
164 pub fn scriptCode(&self) -> Option<Retained<NSString>>;
165
166 #[cfg(feature = "NSString")]
167 #[unsafe(method(localizedStringForScriptCode:))]
168 #[unsafe(method_family = none)]
169 pub fn localizedStringForScriptCode(
170 &self,
171 script_code: &NSString,
172 ) -> Option<Retained<NSString>>;
173
174 #[cfg(feature = "NSString")]
175 #[unsafe(method(variantCode))]
176 #[unsafe(method_family = none)]
177 pub fn variantCode(&self) -> Option<Retained<NSString>>;
178
179 #[cfg(feature = "NSString")]
180 #[unsafe(method(localizedStringForVariantCode:))]
181 #[unsafe(method_family = none)]
182 pub fn localizedStringForVariantCode(
183 &self,
184 variant_code: &NSString,
185 ) -> Option<Retained<NSString>>;
186
187 #[cfg(feature = "NSCharacterSet")]
188 #[unsafe(method(exemplarCharacterSet))]
189 #[unsafe(method_family = none)]
190 pub fn exemplarCharacterSet(&self) -> Retained<NSCharacterSet>;
191
192 #[cfg(feature = "NSString")]
193 #[unsafe(method(calendarIdentifier))]
194 #[unsafe(method_family = none)]
195 pub fn calendarIdentifier(&self) -> Retained<NSString>;
196
197 #[cfg(feature = "NSString")]
198 #[unsafe(method(localizedStringForCalendarIdentifier:))]
199 #[unsafe(method_family = none)]
200 pub fn localizedStringForCalendarIdentifier(
201 &self,
202 calendar_identifier: &NSString,
203 ) -> Option<Retained<NSString>>;
204
205 #[cfg(feature = "NSString")]
206 #[unsafe(method(collationIdentifier))]
207 #[unsafe(method_family = none)]
208 pub fn collationIdentifier(&self) -> Option<Retained<NSString>>;
209
210 #[cfg(feature = "NSString")]
211 #[unsafe(method(localizedStringForCollationIdentifier:))]
212 #[unsafe(method_family = none)]
213 pub fn localizedStringForCollationIdentifier(
214 &self,
215 collation_identifier: &NSString,
216 ) -> Option<Retained<NSString>>;
217
218 #[unsafe(method(usesMetricSystem))]
219 #[unsafe(method_family = none)]
220 pub fn usesMetricSystem(&self) -> bool;
221
222 #[cfg(feature = "NSString")]
223 #[unsafe(method(decimalSeparator))]
224 #[unsafe(method_family = none)]
225 pub fn decimalSeparator(&self) -> Retained<NSString>;
226
227 #[cfg(feature = "NSString")]
228 #[unsafe(method(groupingSeparator))]
229 #[unsafe(method_family = none)]
230 pub fn groupingSeparator(&self) -> Retained<NSString>;
231
232 #[cfg(feature = "NSString")]
233 #[unsafe(method(currencySymbol))]
234 #[unsafe(method_family = none)]
235 pub fn currencySymbol(&self) -> Retained<NSString>;
236
237 #[cfg(feature = "NSString")]
238 #[unsafe(method(currencyCode))]
239 #[unsafe(method_family = none)]
240 pub fn currencyCode(&self) -> Option<Retained<NSString>>;
241
242 #[cfg(feature = "NSString")]
243 #[unsafe(method(localizedStringForCurrencyCode:))]
244 #[unsafe(method_family = none)]
245 pub fn localizedStringForCurrencyCode(
246 &self,
247 currency_code: &NSString,
248 ) -> Option<Retained<NSString>>;
249
250 #[cfg(feature = "NSString")]
251 #[unsafe(method(collatorIdentifier))]
252 #[unsafe(method_family = none)]
253 pub fn collatorIdentifier(&self) -> Retained<NSString>;
254
255 #[cfg(feature = "NSString")]
256 #[unsafe(method(localizedStringForCollatorIdentifier:))]
257 #[unsafe(method_family = none)]
258 pub fn localizedStringForCollatorIdentifier(
259 &self,
260 collator_identifier: &NSString,
261 ) -> Option<Retained<NSString>>;
262
263 #[cfg(feature = "NSString")]
264 #[unsafe(method(quotationBeginDelimiter))]
265 #[unsafe(method_family = none)]
266 pub fn quotationBeginDelimiter(&self) -> Retained<NSString>;
267
268 #[cfg(feature = "NSString")]
269 #[unsafe(method(quotationEndDelimiter))]
270 #[unsafe(method_family = none)]
271 pub fn quotationEndDelimiter(&self) -> Retained<NSString>;
272
273 #[cfg(feature = "NSString")]
274 #[unsafe(method(alternateQuotationBeginDelimiter))]
275 #[unsafe(method_family = none)]
276 pub fn alternateQuotationBeginDelimiter(&self) -> Retained<NSString>;
277
278 #[cfg(feature = "NSString")]
279 #[unsafe(method(alternateQuotationEndDelimiter))]
280 #[unsafe(method_family = none)]
281 pub fn alternateQuotationEndDelimiter(&self) -> Retained<NSString>;
282 );
283}
284
285impl NSLocale {
287 extern_methods!(
288 #[unsafe(method(autoupdatingCurrentLocale))]
289 #[unsafe(method_family = none)]
290 pub fn autoupdatingCurrentLocale() -> Retained<NSLocale>;
291
292 #[unsafe(method(currentLocale))]
293 #[unsafe(method_family = none)]
294 pub fn currentLocale() -> Retained<NSLocale>;
295
296 #[unsafe(method(systemLocale))]
297 #[unsafe(method_family = none)]
298 pub fn systemLocale() -> Retained<NSLocale>;
299
300 #[cfg(feature = "NSString")]
301 #[unsafe(method(localeWithLocaleIdentifier:))]
302 #[unsafe(method_family = none)]
303 pub fn localeWithLocaleIdentifier(ident: &NSString) -> Retained<Self>;
304 );
305}
306
307#[repr(transparent)]
310#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
311pub struct NSLocaleLanguageDirection(pub NSUInteger);
312impl NSLocaleLanguageDirection {
313 #[doc(alias = "NSLocaleLanguageDirectionUnknown")]
314 pub const Unknown: Self = Self(0);
315 #[doc(alias = "NSLocaleLanguageDirectionLeftToRight")]
316 pub const LeftToRight: Self = Self(1);
317 #[doc(alias = "NSLocaleLanguageDirectionRightToLeft")]
318 pub const RightToLeft: Self = Self(2);
319 #[doc(alias = "NSLocaleLanguageDirectionTopToBottom")]
320 pub const TopToBottom: Self = Self(3);
321 #[doc(alias = "NSLocaleLanguageDirectionBottomToTop")]
322 pub const BottomToTop: Self = Self(4);
323}
324
325unsafe impl Encode for NSLocaleLanguageDirection {
326 const ENCODING: Encoding = NSUInteger::ENCODING;
327}
328
329unsafe impl RefEncode for NSLocaleLanguageDirection {
330 const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
331}
332
333impl NSLocale {
335 extern_methods!(
336 #[cfg(all(feature = "NSArray", feature = "NSString"))]
337 #[unsafe(method(availableLocaleIdentifiers))]
338 #[unsafe(method_family = none)]
339 pub fn availableLocaleIdentifiers() -> Retained<NSArray<NSString>>;
340
341 #[cfg(all(feature = "NSArray", feature = "NSString"))]
342 #[unsafe(method(ISOLanguageCodes))]
343 #[unsafe(method_family = none)]
344 pub fn ISOLanguageCodes() -> Retained<NSArray<NSString>>;
345
346 #[cfg(all(feature = "NSArray", feature = "NSString"))]
347 #[unsafe(method(ISOCountryCodes))]
348 #[unsafe(method_family = none)]
349 pub fn ISOCountryCodes() -> Retained<NSArray<NSString>>;
350
351 #[cfg(all(feature = "NSArray", feature = "NSString"))]
352 #[unsafe(method(ISOCurrencyCodes))]
353 #[unsafe(method_family = none)]
354 pub fn ISOCurrencyCodes() -> Retained<NSArray<NSString>>;
355
356 #[cfg(all(feature = "NSArray", feature = "NSString"))]
357 #[unsafe(method(commonISOCurrencyCodes))]
358 #[unsafe(method_family = none)]
359 pub fn commonISOCurrencyCodes() -> Retained<NSArray<NSString>>;
360
361 #[cfg(all(feature = "NSArray", feature = "NSString"))]
362 #[unsafe(method(preferredLanguages))]
363 #[unsafe(method_family = none)]
364 pub fn preferredLanguages() -> Retained<NSArray<NSString>>;
365
366 #[cfg(all(feature = "NSDictionary", feature = "NSString"))]
367 #[unsafe(method(componentsFromLocaleIdentifier:))]
368 #[unsafe(method_family = none)]
369 pub fn componentsFromLocaleIdentifier(
370 string: &NSString,
371 ) -> Retained<NSDictionary<NSString, NSString>>;
372
373 #[cfg(all(feature = "NSDictionary", feature = "NSString"))]
374 #[unsafe(method(localeIdentifierFromComponents:))]
375 #[unsafe(method_family = none)]
376 pub fn localeIdentifierFromComponents(
377 dict: &NSDictionary<NSString, NSString>,
378 ) -> Retained<NSString>;
379
380 #[cfg(feature = "NSString")]
381 #[unsafe(method(canonicalLocaleIdentifierFromString:))]
382 #[unsafe(method_family = none)]
383 pub fn canonicalLocaleIdentifierFromString(string: &NSString) -> Retained<NSString>;
384
385 #[cfg(feature = "NSString")]
386 #[unsafe(method(canonicalLanguageIdentifierFromString:))]
387 #[unsafe(method_family = none)]
388 pub fn canonicalLanguageIdentifierFromString(string: &NSString) -> Retained<NSString>;
389
390 #[cfg(feature = "NSString")]
391 #[unsafe(method(localeIdentifierFromWindowsLocaleCode:))]
392 #[unsafe(method_family = none)]
393 pub fn localeIdentifierFromWindowsLocaleCode(lcid: u32) -> Option<Retained<NSString>>;
394
395 #[cfg(feature = "NSString")]
396 #[unsafe(method(windowsLocaleCodeFromLocaleIdentifier:))]
397 #[unsafe(method_family = none)]
398 pub fn windowsLocaleCodeFromLocaleIdentifier(locale_identifier: &NSString) -> u32;
399
400 #[cfg(feature = "NSString")]
401 #[unsafe(method(characterDirectionForLanguage:))]
402 #[unsafe(method_family = none)]
403 pub fn characterDirectionForLanguage(iso_lang_code: &NSString)
404 -> NSLocaleLanguageDirection;
405
406 #[cfg(feature = "NSString")]
407 #[unsafe(method(lineDirectionForLanguage:))]
408 #[unsafe(method_family = none)]
409 pub fn lineDirectionForLanguage(iso_lang_code: &NSString) -> NSLocaleLanguageDirection;
410 );
411}
412
413extern "C" {
414 #[cfg(all(feature = "NSNotification", feature = "NSString"))]
416 pub static NSCurrentLocaleDidChangeNotification: &'static NSNotificationName;
417}
418
419extern "C" {
420 #[cfg(feature = "NSString")]
422 pub static NSLocaleIdentifier: &'static NSLocaleKey;
423}
424
425extern "C" {
426 #[cfg(feature = "NSString")]
428 pub static NSLocaleLanguageCode: &'static NSLocaleKey;
429}
430
431extern "C" {
432 #[cfg(feature = "NSString")]
434 pub static NSLocaleCountryCode: &'static NSLocaleKey;
435}
436
437extern "C" {
438 #[cfg(feature = "NSString")]
440 pub static NSLocaleScriptCode: &'static NSLocaleKey;
441}
442
443extern "C" {
444 #[cfg(feature = "NSString")]
446 pub static NSLocaleVariantCode: &'static NSLocaleKey;
447}
448
449extern "C" {
450 #[cfg(feature = "NSString")]
452 pub static NSLocaleExemplarCharacterSet: &'static NSLocaleKey;
453}
454
455extern "C" {
456 #[cfg(feature = "NSString")]
458 pub static NSLocaleCalendar: &'static NSLocaleKey;
459}
460
461extern "C" {
462 #[cfg(feature = "NSString")]
464 pub static NSLocaleCollationIdentifier: &'static NSLocaleKey;
465}
466
467extern "C" {
468 #[cfg(feature = "NSString")]
470 pub static NSLocaleUsesMetricSystem: &'static NSLocaleKey;
471}
472
473extern "C" {
474 #[cfg(feature = "NSString")]
476 pub static NSLocaleMeasurementSystem: &'static NSLocaleKey;
477}
478
479extern "C" {
480 #[cfg(feature = "NSString")]
482 pub static NSLocaleDecimalSeparator: &'static NSLocaleKey;
483}
484
485extern "C" {
486 #[cfg(feature = "NSString")]
488 pub static NSLocaleGroupingSeparator: &'static NSLocaleKey;
489}
490
491extern "C" {
492 #[cfg(feature = "NSString")]
494 pub static NSLocaleCurrencySymbol: &'static NSLocaleKey;
495}
496
497extern "C" {
498 #[cfg(feature = "NSString")]
500 pub static NSLocaleCurrencyCode: &'static NSLocaleKey;
501}
502
503extern "C" {
504 #[cfg(feature = "NSString")]
506 pub static NSLocaleCollatorIdentifier: &'static NSLocaleKey;
507}
508
509extern "C" {
510 #[cfg(feature = "NSString")]
512 pub static NSLocaleQuotationBeginDelimiterKey: &'static NSLocaleKey;
513}
514
515extern "C" {
516 #[cfg(feature = "NSString")]
518 pub static NSLocaleQuotationEndDelimiterKey: &'static NSLocaleKey;
519}
520
521extern "C" {
522 #[cfg(feature = "NSString")]
524 pub static NSLocaleAlternateQuotationBeginDelimiterKey: &'static NSLocaleKey;
525}
526
527extern "C" {
528 #[cfg(feature = "NSString")]
530 pub static NSLocaleAlternateQuotationEndDelimiterKey: &'static NSLocaleKey;
531}
532
533extern "C" {
534 #[cfg(feature = "NSString")]
536 #[deprecated]
537 pub static NSGregorianCalendar: &'static NSString;
538}
539
540extern "C" {
541 #[cfg(feature = "NSString")]
543 #[deprecated]
544 pub static NSBuddhistCalendar: &'static NSString;
545}
546
547extern "C" {
548 #[cfg(feature = "NSString")]
550 #[deprecated]
551 pub static NSChineseCalendar: &'static NSString;
552}
553
554extern "C" {
555 #[cfg(feature = "NSString")]
557 #[deprecated]
558 pub static NSHebrewCalendar: &'static NSString;
559}
560
561extern "C" {
562 #[cfg(feature = "NSString")]
564 #[deprecated]
565 pub static NSIslamicCalendar: &'static NSString;
566}
567
568extern "C" {
569 #[cfg(feature = "NSString")]
571 #[deprecated]
572 pub static NSIslamicCivilCalendar: &'static NSString;
573}
574
575extern "C" {
576 #[cfg(feature = "NSString")]
578 #[deprecated]
579 pub static NSJapaneseCalendar: &'static NSString;
580}
581
582extern "C" {
583 #[cfg(feature = "NSString")]
585 #[deprecated]
586 pub static NSRepublicOfChinaCalendar: &'static NSString;
587}
588
589extern "C" {
590 #[cfg(feature = "NSString")]
592 #[deprecated]
593 pub static NSPersianCalendar: &'static NSString;
594}
595
596extern "C" {
597 #[cfg(feature = "NSString")]
599 #[deprecated]
600 pub static NSIndianCalendar: &'static NSString;
601}
602
603extern "C" {
604 #[cfg(feature = "NSString")]
606 #[deprecated]
607 pub static NSISO8601Calendar: &'static NSString;
608}