objc2_foundation/generated/
NSDateComponentsFormatter.rs1use core::ffi::*;
4use core::ptr::NonNull;
5use objc2::__framework_prelude::*;
6
7use crate::*;
8
9#[repr(transparent)]
12#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
13pub struct NSDateComponentsFormatterUnitsStyle(pub NSInteger);
14impl NSDateComponentsFormatterUnitsStyle {
15 #[doc(alias = "NSDateComponentsFormatterUnitsStylePositional")]
16 pub const Positional: Self = Self(0);
17 #[doc(alias = "NSDateComponentsFormatterUnitsStyleAbbreviated")]
18 pub const Abbreviated: Self = Self(1);
19 #[doc(alias = "NSDateComponentsFormatterUnitsStyleShort")]
20 pub const Short: Self = Self(2);
21 #[doc(alias = "NSDateComponentsFormatterUnitsStyleFull")]
22 pub const Full: Self = Self(3);
23 #[doc(alias = "NSDateComponentsFormatterUnitsStyleSpellOut")]
24 pub const SpellOut: Self = Self(4);
25 #[doc(alias = "NSDateComponentsFormatterUnitsStyleBrief")]
26 pub const Brief: Self = Self(5);
27}
28
29unsafe impl Encode for NSDateComponentsFormatterUnitsStyle {
30 const ENCODING: Encoding = NSInteger::ENCODING;
31}
32
33unsafe impl RefEncode for NSDateComponentsFormatterUnitsStyle {
34 const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
35}
36
37#[repr(transparent)]
40#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
41pub struct NSDateComponentsFormatterZeroFormattingBehavior(pub NSUInteger);
42bitflags::bitflags! {
43 impl NSDateComponentsFormatterZeroFormattingBehavior: NSUInteger {
44 #[doc(alias = "NSDateComponentsFormatterZeroFormattingBehaviorNone")]
45 const None = 0;
46 #[doc(alias = "NSDateComponentsFormatterZeroFormattingBehaviorDefault")]
47 const Default = 1<<0;
48 #[doc(alias = "NSDateComponentsFormatterZeroFormattingBehaviorDropLeading")]
49 const DropLeading = 1<<1;
50 #[doc(alias = "NSDateComponentsFormatterZeroFormattingBehaviorDropMiddle")]
51 const DropMiddle = 1<<2;
52 #[doc(alias = "NSDateComponentsFormatterZeroFormattingBehaviorDropTrailing")]
53 const DropTrailing = 1<<3;
54 #[doc(alias = "NSDateComponentsFormatterZeroFormattingBehaviorDropAll")]
55 const DropAll = NSDateComponentsFormatterZeroFormattingBehavior::DropLeading.0|NSDateComponentsFormatterZeroFormattingBehavior::DropMiddle.0|NSDateComponentsFormatterZeroFormattingBehavior::DropTrailing.0;
56 #[doc(alias = "NSDateComponentsFormatterZeroFormattingBehaviorPad")]
57 const Pad = 1<<16;
58 }
59}
60
61unsafe impl Encode for NSDateComponentsFormatterZeroFormattingBehavior {
62 const ENCODING: Encoding = NSUInteger::ENCODING;
63}
64
65unsafe impl RefEncode for NSDateComponentsFormatterZeroFormattingBehavior {
66 const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
67}
68
69extern_class!(
70 #[unsafe(super(NSFormatter, NSObject))]
72 #[derive(Debug, PartialEq, Eq, Hash)]
73 #[cfg(feature = "NSFormatter")]
74 pub struct NSDateComponentsFormatter;
75);
76
77#[cfg(feature = "NSFormatter")]
78unsafe impl Send for NSDateComponentsFormatter {}
79
80#[cfg(feature = "NSFormatter")]
81unsafe impl Sync for NSDateComponentsFormatter {}
82
83#[cfg(all(feature = "NSFormatter", feature = "NSObject"))]
84extern_conformance!(
85 unsafe impl NSCoding for NSDateComponentsFormatter {}
86);
87
88#[cfg(all(feature = "NSFormatter", feature = "NSObject"))]
89extern_conformance!(
90 unsafe impl NSCopying for NSDateComponentsFormatter {}
91);
92
93#[cfg(all(feature = "NSFormatter", feature = "NSObject"))]
94unsafe impl CopyingHelper for NSDateComponentsFormatter {
95 type Result = Self;
96}
97
98#[cfg(feature = "NSFormatter")]
99extern_conformance!(
100 unsafe impl NSObjectProtocol for NSDateComponentsFormatter {}
101);
102
103#[cfg(feature = "NSFormatter")]
104impl NSDateComponentsFormatter {
105 extern_methods!(
106 #[cfg(feature = "NSString")]
107 #[unsafe(method(stringForObjectValue:))]
108 #[unsafe(method_family = none)]
109 pub unsafe fn stringForObjectValue(
110 &self,
111 obj: Option<&AnyObject>,
112 ) -> Option<Retained<NSString>>;
113
114 #[cfg(all(feature = "NSCalendar", feature = "NSString"))]
115 #[unsafe(method(stringFromDateComponents:))]
116 #[unsafe(method_family = none)]
117 pub unsafe fn stringFromDateComponents(
118 &self,
119 components: &NSDateComponents,
120 ) -> Option<Retained<NSString>>;
121
122 #[cfg(all(feature = "NSDate", feature = "NSString"))]
123 #[unsafe(method(stringFromDate:toDate:))]
124 #[unsafe(method_family = none)]
125 pub unsafe fn stringFromDate_toDate(
126 &self,
127 start_date: &NSDate,
128 end_date: &NSDate,
129 ) -> Option<Retained<NSString>>;
130
131 #[cfg(all(feature = "NSDate", feature = "NSString"))]
132 #[unsafe(method(stringFromTimeInterval:))]
133 #[unsafe(method_family = none)]
134 pub unsafe fn stringFromTimeInterval(
135 &self,
136 ti: NSTimeInterval,
137 ) -> Option<Retained<NSString>>;
138
139 #[cfg(all(feature = "NSCalendar", feature = "NSString"))]
140 #[unsafe(method(localizedStringFromDateComponents:unitsStyle:))]
141 #[unsafe(method_family = none)]
142 pub unsafe fn localizedStringFromDateComponents_unitsStyle(
143 components: &NSDateComponents,
144 units_style: NSDateComponentsFormatterUnitsStyle,
145 ) -> Option<Retained<NSString>>;
146
147 #[unsafe(method(unitsStyle))]
148 #[unsafe(method_family = none)]
149 pub unsafe fn unitsStyle(&self) -> NSDateComponentsFormatterUnitsStyle;
150
151 #[unsafe(method(setUnitsStyle:))]
153 #[unsafe(method_family = none)]
154 pub unsafe fn setUnitsStyle(&self, units_style: NSDateComponentsFormatterUnitsStyle);
155
156 #[cfg(feature = "NSCalendar")]
157 #[unsafe(method(allowedUnits))]
158 #[unsafe(method_family = none)]
159 pub unsafe fn allowedUnits(&self) -> NSCalendarUnit;
160
161 #[cfg(feature = "NSCalendar")]
162 #[unsafe(method(setAllowedUnits:))]
164 #[unsafe(method_family = none)]
165 pub unsafe fn setAllowedUnits(&self, allowed_units: NSCalendarUnit);
166
167 #[unsafe(method(zeroFormattingBehavior))]
168 #[unsafe(method_family = none)]
169 pub unsafe fn zeroFormattingBehavior(
170 &self,
171 ) -> NSDateComponentsFormatterZeroFormattingBehavior;
172
173 #[unsafe(method(setZeroFormattingBehavior:))]
175 #[unsafe(method_family = none)]
176 pub unsafe fn setZeroFormattingBehavior(
177 &self,
178 zero_formatting_behavior: NSDateComponentsFormatterZeroFormattingBehavior,
179 );
180
181 #[cfg(feature = "NSCalendar")]
182 #[unsafe(method(calendar))]
183 #[unsafe(method_family = none)]
184 pub unsafe fn calendar(&self) -> Option<Retained<NSCalendar>>;
185
186 #[cfg(feature = "NSCalendar")]
187 #[unsafe(method(setCalendar:))]
189 #[unsafe(method_family = none)]
190 pub unsafe fn setCalendar(&self, calendar: Option<&NSCalendar>);
191
192 #[cfg(feature = "NSDate")]
193 #[unsafe(method(referenceDate))]
194 #[unsafe(method_family = none)]
195 pub unsafe fn referenceDate(&self) -> Option<Retained<NSDate>>;
196
197 #[cfg(feature = "NSDate")]
198 #[unsafe(method(setReferenceDate:))]
200 #[unsafe(method_family = none)]
201 pub unsafe fn setReferenceDate(&self, reference_date: Option<&NSDate>);
202
203 #[unsafe(method(allowsFractionalUnits))]
204 #[unsafe(method_family = none)]
205 pub unsafe fn allowsFractionalUnits(&self) -> bool;
206
207 #[unsafe(method(setAllowsFractionalUnits:))]
209 #[unsafe(method_family = none)]
210 pub unsafe fn setAllowsFractionalUnits(&self, allows_fractional_units: bool);
211
212 #[unsafe(method(maximumUnitCount))]
213 #[unsafe(method_family = none)]
214 pub unsafe fn maximumUnitCount(&self) -> NSInteger;
215
216 #[unsafe(method(setMaximumUnitCount:))]
218 #[unsafe(method_family = none)]
219 pub unsafe fn setMaximumUnitCount(&self, maximum_unit_count: NSInteger);
220
221 #[unsafe(method(collapsesLargestUnit))]
222 #[unsafe(method_family = none)]
223 pub unsafe fn collapsesLargestUnit(&self) -> bool;
224
225 #[unsafe(method(setCollapsesLargestUnit:))]
227 #[unsafe(method_family = none)]
228 pub unsafe fn setCollapsesLargestUnit(&self, collapses_largest_unit: bool);
229
230 #[unsafe(method(includesApproximationPhrase))]
231 #[unsafe(method_family = none)]
232 pub unsafe fn includesApproximationPhrase(&self) -> bool;
233
234 #[unsafe(method(setIncludesApproximationPhrase:))]
236 #[unsafe(method_family = none)]
237 pub unsafe fn setIncludesApproximationPhrase(&self, includes_approximation_phrase: bool);
238
239 #[unsafe(method(includesTimeRemainingPhrase))]
240 #[unsafe(method_family = none)]
241 pub unsafe fn includesTimeRemainingPhrase(&self) -> bool;
242
243 #[unsafe(method(setIncludesTimeRemainingPhrase:))]
245 #[unsafe(method_family = none)]
246 pub unsafe fn setIncludesTimeRemainingPhrase(&self, includes_time_remaining_phrase: bool);
247
248 #[unsafe(method(formattingContext))]
249 #[unsafe(method_family = none)]
250 pub unsafe fn formattingContext(&self) -> NSFormattingContext;
251
252 #[unsafe(method(setFormattingContext:))]
254 #[unsafe(method_family = none)]
255 pub unsafe fn setFormattingContext(&self, formatting_context: NSFormattingContext);
256
257 #[cfg(feature = "NSString")]
258 #[unsafe(method(getObjectValue:forString:errorDescription:))]
259 #[unsafe(method_family = none)]
260 pub unsafe fn getObjectValue_forString_errorDescription(
261 &self,
262 obj: Option<&mut Option<Retained<AnyObject>>>,
263 string: &NSString,
264 error: Option<&mut Option<Retained<NSString>>>,
265 ) -> bool;
266 );
267}
268
269#[cfg(feature = "NSFormatter")]
271impl NSDateComponentsFormatter {
272 extern_methods!(
273 #[unsafe(method(init))]
274 #[unsafe(method_family = init)]
275 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
276
277 #[unsafe(method(new))]
278 #[unsafe(method_family = new)]
279 pub unsafe fn new() -> Retained<Self>;
280 );
281}