Skip to main content

objc2_foundation/generated/
NSEnergyFormatter.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/nsenergyformatterunit?language=objc)
10// NS_ENUM
11#[repr(transparent)]
12#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
13pub struct NSEnergyFormatterUnit(pub NSInteger);
14impl NSEnergyFormatterUnit {
15    #[doc(alias = "NSEnergyFormatterUnitJoule")]
16    pub const Joule: Self = Self(11);
17    #[doc(alias = "NSEnergyFormatterUnitKilojoule")]
18    pub const Kilojoule: Self = Self(14);
19    #[doc(alias = "NSEnergyFormatterUnitCalorie")]
20    pub const Calorie: Self = Self((7 << 8) + 1);
21    #[doc(alias = "NSEnergyFormatterUnitKilocalorie")]
22    pub const Kilocalorie: Self = Self((7 << 8) + 2);
23}
24
25unsafe impl Encode for NSEnergyFormatterUnit {
26    const ENCODING: Encoding = NSInteger::ENCODING;
27}
28
29unsafe impl RefEncode for NSEnergyFormatterUnit {
30    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
31}
32
33extern_class!(
34    /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nsenergyformatter?language=objc)
35    #[unsafe(super(NSFormatter, NSObject))]
36    #[derive(Debug, PartialEq, Eq, Hash)]
37    #[cfg(feature = "NSFormatter")]
38    pub struct NSEnergyFormatter;
39);
40
41#[cfg(all(feature = "NSFormatter", feature = "NSObject"))]
42extern_conformance!(
43    unsafe impl NSCoding for NSEnergyFormatter {}
44);
45
46#[cfg(all(feature = "NSFormatter", feature = "NSObject"))]
47extern_conformance!(
48    unsafe impl NSCopying for NSEnergyFormatter {}
49);
50
51#[cfg(all(feature = "NSFormatter", feature = "NSObject"))]
52unsafe impl CopyingHelper for NSEnergyFormatter {
53    type Result = Self;
54}
55
56#[cfg(feature = "NSFormatter")]
57extern_conformance!(
58    unsafe impl NSObjectProtocol for NSEnergyFormatter {}
59);
60
61#[cfg(feature = "NSFormatter")]
62impl NSEnergyFormatter {
63    extern_methods!(
64        #[cfg(feature = "NSNumberFormatter")]
65        #[unsafe(method(numberFormatter))]
66        #[unsafe(method_family = none)]
67        pub fn numberFormatter(&self) -> Retained<NSNumberFormatter>;
68
69        #[cfg(feature = "NSNumberFormatter")]
70        /// Setter for [`numberFormatter`][Self::numberFormatter].
71        ///
72        /// This is [copied][crate::NSCopying::copy] when set.
73        #[unsafe(method(setNumberFormatter:))]
74        #[unsafe(method_family = none)]
75        pub fn setNumberFormatter(&self, number_formatter: Option<&NSNumberFormatter>);
76
77        #[unsafe(method(unitStyle))]
78        #[unsafe(method_family = none)]
79        pub fn unitStyle(&self) -> NSFormattingUnitStyle;
80
81        /// Setter for [`unitStyle`][Self::unitStyle].
82        #[unsafe(method(setUnitStyle:))]
83        #[unsafe(method_family = none)]
84        pub fn setUnitStyle(&self, unit_style: NSFormattingUnitStyle);
85
86        #[unsafe(method(isForFoodEnergyUse))]
87        #[unsafe(method_family = none)]
88        pub fn isForFoodEnergyUse(&self) -> bool;
89
90        /// Setter for [`isForFoodEnergyUse`][Self::isForFoodEnergyUse].
91        #[unsafe(method(setForFoodEnergyUse:))]
92        #[unsafe(method_family = none)]
93        pub fn setForFoodEnergyUse(&self, for_food_energy_use: bool);
94
95        #[cfg(feature = "NSString")]
96        #[unsafe(method(stringFromValue:unit:))]
97        #[unsafe(method_family = none)]
98        pub fn stringFromValue_unit(
99            &self,
100            value: c_double,
101            unit: NSEnergyFormatterUnit,
102        ) -> Retained<NSString>;
103
104        #[cfg(feature = "NSString")]
105        #[unsafe(method(stringFromJoules:))]
106        #[unsafe(method_family = none)]
107        pub fn stringFromJoules(&self, number_in_joules: c_double) -> Retained<NSString>;
108
109        #[cfg(feature = "NSString")]
110        #[unsafe(method(unitStringFromValue:unit:))]
111        #[unsafe(method_family = none)]
112        pub fn unitStringFromValue_unit(
113            &self,
114            value: c_double,
115            unit: NSEnergyFormatterUnit,
116        ) -> Retained<NSString>;
117
118        #[cfg(feature = "NSString")]
119        /// # Safety
120        ///
121        /// `unitp` must be a valid pointer or null.
122        #[unsafe(method(unitStringFromJoules:usedUnit:))]
123        #[unsafe(method_family = none)]
124        pub unsafe fn unitStringFromJoules_usedUnit(
125            &self,
126            number_in_joules: c_double,
127            unitp: *mut NSEnergyFormatterUnit,
128        ) -> Retained<NSString>;
129
130        #[cfg(feature = "NSString")]
131        /// # Safety
132        ///
133        /// `obj` should be of the correct type.
134        #[unsafe(method(getObjectValue:forString:errorDescription:))]
135        #[unsafe(method_family = none)]
136        pub unsafe fn getObjectValue_forString_errorDescription(
137            &self,
138            obj: Option<&mut Option<Retained<AnyObject>>>,
139            string: &NSString,
140            error: Option<&mut Option<Retained<NSString>>>,
141        ) -> bool;
142    );
143}
144
145/// Methods declared on superclass `NSObject`.
146#[cfg(feature = "NSFormatter")]
147impl NSEnergyFormatter {
148    extern_methods!(
149        #[unsafe(method(init))]
150        #[unsafe(method_family = init)]
151        pub fn init(this: Allocated<Self>) -> Retained<Self>;
152
153        #[unsafe(method(new))]
154        #[unsafe(method_family = new)]
155        pub fn new() -> Retained<Self>;
156    );
157}
158
159#[cfg(feature = "NSFormatter")]
160impl DefaultRetained for NSEnergyFormatter {
161    #[inline]
162    fn default_retained() -> Retained<Self> {
163        Self::new()
164    }
165}