objc2_foundation/generated/
NSMeasurementFormatter.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/nsmeasurementformatterunitoptions?language=objc)
10// NS_OPTIONS
11#[repr(transparent)]
12#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
13pub struct NSMeasurementFormatterUnitOptions(pub NSUInteger);
14bitflags::bitflags! {
15    impl NSMeasurementFormatterUnitOptions: NSUInteger {
16        #[doc(alias = "NSMeasurementFormatterUnitOptionsProvidedUnit")]
17        const ProvidedUnit = 1<<0;
18        #[doc(alias = "NSMeasurementFormatterUnitOptionsNaturalScale")]
19        const NaturalScale = 1<<1;
20        #[doc(alias = "NSMeasurementFormatterUnitOptionsTemperatureWithoutUnit")]
21        const TemperatureWithoutUnit = 1<<2;
22    }
23}
24
25unsafe impl Encode for NSMeasurementFormatterUnitOptions {
26    const ENCODING: Encoding = NSUInteger::ENCODING;
27}
28
29unsafe impl RefEncode for NSMeasurementFormatterUnitOptions {
30    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
31}
32
33extern_class!(
34    /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nsmeasurementformatter?language=objc)
35    #[unsafe(super(NSFormatter, NSObject))]
36    #[derive(Debug, PartialEq, Eq, Hash)]
37    #[cfg(feature = "NSFormatter")]
38    pub struct NSMeasurementFormatter;
39);
40
41#[cfg(all(feature = "NSFormatter", feature = "NSObject"))]
42unsafe impl NSCoding for NSMeasurementFormatter {}
43
44#[cfg(all(feature = "NSFormatter", feature = "NSObject"))]
45unsafe impl NSCopying for NSMeasurementFormatter {}
46
47#[cfg(all(feature = "NSFormatter", feature = "NSObject"))]
48unsafe impl CopyingHelper for NSMeasurementFormatter {
49    type Result = Self;
50}
51
52#[cfg(feature = "NSFormatter")]
53unsafe impl NSObjectProtocol for NSMeasurementFormatter {}
54
55#[cfg(all(feature = "NSFormatter", feature = "NSObject"))]
56unsafe impl NSSecureCoding for NSMeasurementFormatter {}
57
58#[cfg(feature = "NSFormatter")]
59impl NSMeasurementFormatter {
60    extern_methods!(
61        #[unsafe(method(unitOptions))]
62        #[unsafe(method_family = none)]
63        pub unsafe fn unitOptions(&self) -> NSMeasurementFormatterUnitOptions;
64
65        /// Setter for [`unitOptions`][Self::unitOptions].
66        #[unsafe(method(setUnitOptions:))]
67        #[unsafe(method_family = none)]
68        pub unsafe fn setUnitOptions(&self, unit_options: NSMeasurementFormatterUnitOptions);
69
70        #[unsafe(method(unitStyle))]
71        #[unsafe(method_family = none)]
72        pub unsafe fn unitStyle(&self) -> NSFormattingUnitStyle;
73
74        /// Setter for [`unitStyle`][Self::unitStyle].
75        #[unsafe(method(setUnitStyle:))]
76        #[unsafe(method_family = none)]
77        pub unsafe fn setUnitStyle(&self, unit_style: NSFormattingUnitStyle);
78
79        #[cfg(feature = "NSLocale")]
80        #[unsafe(method(locale))]
81        #[unsafe(method_family = none)]
82        pub unsafe fn locale(&self) -> Retained<NSLocale>;
83
84        #[cfg(feature = "NSLocale")]
85        /// Setter for [`locale`][Self::locale].
86        #[unsafe(method(setLocale:))]
87        #[unsafe(method_family = none)]
88        pub unsafe fn setLocale(&self, locale: Option<&NSLocale>);
89
90        #[cfg(feature = "NSNumberFormatter")]
91        #[unsafe(method(numberFormatter))]
92        #[unsafe(method_family = none)]
93        pub unsafe fn numberFormatter(&self) -> Retained<NSNumberFormatter>;
94
95        #[cfg(feature = "NSNumberFormatter")]
96        /// Setter for [`numberFormatter`][Self::numberFormatter].
97        #[unsafe(method(setNumberFormatter:))]
98        #[unsafe(method_family = none)]
99        pub unsafe fn setNumberFormatter(&self, number_formatter: Option<&NSNumberFormatter>);
100
101        #[cfg(all(feature = "NSMeasurement", feature = "NSString"))]
102        #[unsafe(method(stringFromMeasurement:))]
103        #[unsafe(method_family = none)]
104        pub unsafe fn stringFromMeasurement(
105            &self,
106            measurement: &NSMeasurement,
107        ) -> Retained<NSString>;
108
109        #[cfg(all(feature = "NSString", feature = "NSUnit"))]
110        #[unsafe(method(stringFromUnit:))]
111        #[unsafe(method_family = none)]
112        pub unsafe fn stringFromUnit(&self, unit: &NSUnit) -> Retained<NSString>;
113    );
114}
115
116/// Methods declared on superclass `NSObject`.
117#[cfg(feature = "NSFormatter")]
118impl NSMeasurementFormatter {
119    extern_methods!(
120        #[unsafe(method(init))]
121        #[unsafe(method_family = init)]
122        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
123
124        #[unsafe(method(new))]
125        #[unsafe(method_family = new)]
126        pub unsafe fn new() -> Retained<Self>;
127    );
128}