objc2_foundation/generated/
NSDateIntervalFormatter.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 NSDateIntervalFormatterStyle(pub NSUInteger);
14impl NSDateIntervalFormatterStyle {
15 #[doc(alias = "NSDateIntervalFormatterNoStyle")]
16 pub const NoStyle: Self = Self(0);
17 #[doc(alias = "NSDateIntervalFormatterShortStyle")]
18 pub const ShortStyle: Self = Self(1);
19 #[doc(alias = "NSDateIntervalFormatterMediumStyle")]
20 pub const MediumStyle: Self = Self(2);
21 #[doc(alias = "NSDateIntervalFormatterLongStyle")]
22 pub const LongStyle: Self = Self(3);
23 #[doc(alias = "NSDateIntervalFormatterFullStyle")]
24 pub const FullStyle: Self = Self(4);
25}
26
27unsafe impl Encode for NSDateIntervalFormatterStyle {
28 const ENCODING: Encoding = NSUInteger::ENCODING;
29}
30
31unsafe impl RefEncode for NSDateIntervalFormatterStyle {
32 const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
33}
34
35extern_class!(
36 #[unsafe(super(NSFormatter, NSObject))]
38 #[derive(Debug, PartialEq, Eq, Hash)]
39 #[cfg(feature = "NSFormatter")]
40 pub struct NSDateIntervalFormatter;
41);
42
43#[cfg(feature = "NSFormatter")]
44unsafe impl Send for NSDateIntervalFormatter {}
45
46#[cfg(feature = "NSFormatter")]
47unsafe impl Sync for NSDateIntervalFormatter {}
48
49#[cfg(all(feature = "NSFormatter", feature = "NSObject"))]
50extern_conformance!(
51 unsafe impl NSCoding for NSDateIntervalFormatter {}
52);
53
54#[cfg(all(feature = "NSFormatter", feature = "NSObject"))]
55extern_conformance!(
56 unsafe impl NSCopying for NSDateIntervalFormatter {}
57);
58
59#[cfg(all(feature = "NSFormatter", feature = "NSObject"))]
60unsafe impl CopyingHelper for NSDateIntervalFormatter {
61 type Result = Self;
62}
63
64#[cfg(feature = "NSFormatter")]
65extern_conformance!(
66 unsafe impl NSObjectProtocol for NSDateIntervalFormatter {}
67);
68
69#[cfg(feature = "NSFormatter")]
70impl NSDateIntervalFormatter {
71 extern_methods!(
72 #[cfg(feature = "NSLocale")]
73 #[unsafe(method(locale))]
74 #[unsafe(method_family = none)]
75 pub fn locale(&self) -> Retained<NSLocale>;
76
77 #[cfg(feature = "NSLocale")]
78 #[unsafe(method(setLocale:))]
82 #[unsafe(method_family = none)]
83 pub fn setLocale(&self, locale: Option<&NSLocale>);
84
85 #[cfg(feature = "NSCalendar")]
86 #[unsafe(method(calendar))]
87 #[unsafe(method_family = none)]
88 pub fn calendar(&self) -> Retained<NSCalendar>;
89
90 #[cfg(feature = "NSCalendar")]
91 #[unsafe(method(setCalendar:))]
95 #[unsafe(method_family = none)]
96 pub fn setCalendar(&self, calendar: Option<&NSCalendar>);
97
98 #[cfg(feature = "NSTimeZone")]
99 #[unsafe(method(timeZone))]
100 #[unsafe(method_family = none)]
101 pub fn timeZone(&self) -> Retained<NSTimeZone>;
102
103 #[cfg(feature = "NSTimeZone")]
104 #[unsafe(method(setTimeZone:))]
108 #[unsafe(method_family = none)]
109 pub fn setTimeZone(&self, time_zone: Option<&NSTimeZone>);
110
111 #[cfg(feature = "NSString")]
112 #[unsafe(method(dateTemplate))]
113 #[unsafe(method_family = none)]
114 pub fn dateTemplate(&self) -> Retained<NSString>;
115
116 #[cfg(feature = "NSString")]
117 #[unsafe(method(setDateTemplate:))]
121 #[unsafe(method_family = none)]
122 pub fn setDateTemplate(&self, date_template: Option<&NSString>);
123
124 #[unsafe(method(dateStyle))]
125 #[unsafe(method_family = none)]
126 pub fn dateStyle(&self) -> NSDateIntervalFormatterStyle;
127
128 #[unsafe(method(setDateStyle:))]
130 #[unsafe(method_family = none)]
131 pub fn setDateStyle(&self, date_style: NSDateIntervalFormatterStyle);
132
133 #[unsafe(method(timeStyle))]
134 #[unsafe(method_family = none)]
135 pub fn timeStyle(&self) -> NSDateIntervalFormatterStyle;
136
137 #[unsafe(method(setTimeStyle:))]
139 #[unsafe(method_family = none)]
140 pub fn setTimeStyle(&self, time_style: NSDateIntervalFormatterStyle);
141
142 #[cfg(all(feature = "NSDate", feature = "NSString"))]
143 #[unsafe(method(stringFromDate:toDate:))]
144 #[unsafe(method_family = none)]
145 pub fn stringFromDate_toDate(
146 &self,
147 from_date: &NSDate,
148 to_date: &NSDate,
149 ) -> Retained<NSString>;
150
151 #[cfg(all(feature = "NSDateInterval", feature = "NSString"))]
152 #[unsafe(method(stringFromDateInterval:))]
153 #[unsafe(method_family = none)]
154 pub fn stringFromDateInterval(
155 &self,
156 date_interval: &NSDateInterval,
157 ) -> Option<Retained<NSString>>;
158 );
159}
160
161#[cfg(feature = "NSFormatter")]
163impl NSDateIntervalFormatter {
164 extern_methods!(
165 #[unsafe(method(init))]
166 #[unsafe(method_family = init)]
167 pub fn init(this: Allocated<Self>) -> Retained<Self>;
168
169 #[unsafe(method(new))]
170 #[unsafe(method_family = new)]
171 pub fn new() -> Retained<Self>;
172 );
173}
174
175#[cfg(feature = "NSFormatter")]
176impl DefaultRetained for NSDateIntervalFormatter {
177 #[inline]
178 fn default_retained() -> Retained<Self> {
179 Self::new()
180 }
181}