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"))]
42extern_conformance!(
43    unsafe impl NSCoding for NSMeasurementFormatter {}
44);
45
46#[cfg(all(feature = "NSFormatter", feature = "NSObject"))]
47extern_conformance!(
48    unsafe impl NSCopying for NSMeasurementFormatter {}
49);
50
51#[cfg(all(feature = "NSFormatter", feature = "NSObject"))]
52unsafe impl CopyingHelper for NSMeasurementFormatter {
53    type Result = Self;
54}
55
56#[cfg(feature = "NSFormatter")]
57extern_conformance!(
58    unsafe impl NSObjectProtocol for NSMeasurementFormatter {}
59);
60
61#[cfg(all(feature = "NSFormatter", feature = "NSObject"))]
62extern_conformance!(
63    unsafe impl NSSecureCoding for NSMeasurementFormatter {}
64);
65
66#[cfg(feature = "NSFormatter")]
67impl NSMeasurementFormatter {
68    extern_methods!(
69        #[unsafe(method(unitOptions))]
70        #[unsafe(method_family = none)]
71        pub unsafe fn unitOptions(&self) -> NSMeasurementFormatterUnitOptions;
72
73        /// Setter for [`unitOptions`][Self::unitOptions].
74        #[unsafe(method(setUnitOptions:))]
75        #[unsafe(method_family = none)]
76        pub unsafe fn setUnitOptions(&self, unit_options: NSMeasurementFormatterUnitOptions);
77
78        #[unsafe(method(unitStyle))]
79        #[unsafe(method_family = none)]
80        pub unsafe fn unitStyle(&self) -> NSFormattingUnitStyle;
81
82        /// Setter for [`unitStyle`][Self::unitStyle].
83        #[unsafe(method(setUnitStyle:))]
84        #[unsafe(method_family = none)]
85        pub unsafe fn setUnitStyle(&self, unit_style: NSFormattingUnitStyle);
86
87        #[cfg(feature = "NSLocale")]
88        #[unsafe(method(locale))]
89        #[unsafe(method_family = none)]
90        pub unsafe fn locale(&self) -> Retained<NSLocale>;
91
92        #[cfg(feature = "NSLocale")]
93        /// Setter for [`locale`][Self::locale].
94        #[unsafe(method(setLocale:))]
95        #[unsafe(method_family = none)]
96        pub unsafe fn setLocale(&self, locale: Option<&NSLocale>);
97
98        #[cfg(feature = "NSNumberFormatter")]
99        #[unsafe(method(numberFormatter))]
100        #[unsafe(method_family = none)]
101        pub unsafe fn numberFormatter(&self) -> Retained<NSNumberFormatter>;
102
103        #[cfg(feature = "NSNumberFormatter")]
104        /// Setter for [`numberFormatter`][Self::numberFormatter].
105        #[unsafe(method(setNumberFormatter:))]
106        #[unsafe(method_family = none)]
107        pub unsafe fn setNumberFormatter(&self, number_formatter: Option<&NSNumberFormatter>);
108
109        #[cfg(all(feature = "NSMeasurement", feature = "NSString"))]
110        #[unsafe(method(stringFromMeasurement:))]
111        #[unsafe(method_family = none)]
112        pub unsafe fn stringFromMeasurement(
113            &self,
114            measurement: &NSMeasurement,
115        ) -> Retained<NSString>;
116
117        #[cfg(all(feature = "NSString", feature = "NSUnit"))]
118        #[unsafe(method(stringFromUnit:))]
119        #[unsafe(method_family = none)]
120        pub unsafe fn stringFromUnit(&self, unit: &NSUnit) -> Retained<NSString>;
121    );
122}
123
124/// Methods declared on superclass `NSObject`.
125#[cfg(feature = "NSFormatter")]
126impl NSMeasurementFormatter {
127    extern_methods!(
128        #[unsafe(method(init))]
129        #[unsafe(method_family = init)]
130        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
131
132        #[unsafe(method(new))]
133        #[unsafe(method_family = new)]
134        pub unsafe fn new() -> Retained<Self>;
135    );
136}