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