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