objc2_foundation/generated/
NSDate.rs1use core::ffi::*;
4use core::ptr::NonNull;
5use objc2::__framework_prelude::*;
6
7use crate::*;
8
9extern "C" {
10 #[cfg(all(feature = "NSNotification", feature = "NSString"))]
12 pub static NSSystemClockDidChangeNotification: &'static NSNotificationName;
13}
14
15pub type NSTimeInterval = c_double;
17
18extern_class!(
19 #[unsafe(super(NSObject))]
21 #[derive(Debug, PartialEq, Eq, Hash)]
22 pub struct NSDate;
23);
24
25unsafe impl Send for NSDate {}
26
27unsafe impl Sync for NSDate {}
28
29#[cfg(feature = "NSObject")]
30extern_conformance!(
31 unsafe impl NSCoding for NSDate {}
32);
33
34#[cfg(feature = "NSObject")]
35extern_conformance!(
36 unsafe impl NSCopying for NSDate {}
37);
38
39#[cfg(feature = "NSObject")]
40unsafe impl CopyingHelper for NSDate {
41 type Result = Self;
42}
43
44extern_conformance!(
45 unsafe impl NSObjectProtocol for NSDate {}
46);
47
48#[cfg(feature = "NSObject")]
49extern_conformance!(
50 unsafe impl NSSecureCoding for NSDate {}
51);
52
53impl NSDate {
54 extern_methods!(
55 #[unsafe(method(timeIntervalSinceReferenceDate))]
56 #[unsafe(method_family = none)]
57 pub unsafe fn timeIntervalSinceReferenceDate(&self) -> NSTimeInterval;
58
59 #[unsafe(method(init))]
60 #[unsafe(method_family = init)]
61 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
62
63 #[unsafe(method(initWithTimeIntervalSinceReferenceDate:))]
64 #[unsafe(method_family = init)]
65 pub unsafe fn initWithTimeIntervalSinceReferenceDate(
66 this: Allocated<Self>,
67 ti: NSTimeInterval,
68 ) -> Retained<Self>;
69
70 #[cfg(feature = "NSCoder")]
71 #[unsafe(method(initWithCoder:))]
72 #[unsafe(method_family = init)]
73 pub unsafe fn initWithCoder(
74 this: Allocated<Self>,
75 coder: &NSCoder,
76 ) -> Option<Retained<Self>>;
77 );
78}
79
80impl NSDate {
82 extern_methods!(
83 #[unsafe(method(new))]
84 #[unsafe(method_family = new)]
85 pub unsafe fn new() -> Retained<Self>;
86 );
87}
88
89impl NSDate {
91 extern_methods!(
92 #[unsafe(method(timeIntervalSinceDate:))]
93 #[unsafe(method_family = none)]
94 pub unsafe fn timeIntervalSinceDate(&self, another_date: &NSDate) -> NSTimeInterval;
95
96 #[unsafe(method(timeIntervalSinceNow))]
97 #[unsafe(method_family = none)]
98 pub unsafe fn timeIntervalSinceNow(&self) -> NSTimeInterval;
99
100 #[unsafe(method(timeIntervalSince1970))]
101 #[unsafe(method_family = none)]
102 pub unsafe fn timeIntervalSince1970(&self) -> NSTimeInterval;
103
104 #[deprecated = "Use dateByAddingTimeInterval instead"]
105 #[unsafe(method(addTimeInterval:))]
106 #[unsafe(method_family = none)]
107 pub unsafe fn addTimeInterval(&self, seconds: NSTimeInterval) -> Retained<AnyObject>;
108
109 #[unsafe(method(dateByAddingTimeInterval:))]
110 #[unsafe(method_family = none)]
111 pub unsafe fn dateByAddingTimeInterval(&self, ti: NSTimeInterval) -> Retained<Self>;
112
113 #[unsafe(method(earlierDate:))]
114 #[unsafe(method_family = none)]
115 pub unsafe fn earlierDate(&self, another_date: &NSDate) -> Retained<NSDate>;
116
117 #[unsafe(method(laterDate:))]
118 #[unsafe(method_family = none)]
119 pub unsafe fn laterDate(&self, another_date: &NSDate) -> Retained<NSDate>;
120
121 #[cfg(feature = "NSObjCRuntime")]
122 #[unsafe(method(compare:))]
123 #[unsafe(method_family = none)]
124 pub unsafe fn compare(&self, other: &NSDate) -> NSComparisonResult;
125
126 #[unsafe(method(isEqualToDate:))]
127 #[unsafe(method_family = none)]
128 pub unsafe fn isEqualToDate(&self, other_date: &NSDate) -> bool;
129
130 #[cfg(feature = "NSString")]
131 #[unsafe(method(description))]
132 #[unsafe(method_family = none)]
133 pub unsafe fn description(&self) -> Retained<NSString>;
134
135 #[cfg(feature = "NSString")]
136 #[unsafe(method(descriptionWithLocale:))]
137 #[unsafe(method_family = none)]
138 pub unsafe fn descriptionWithLocale(
139 &self,
140 locale: Option<&AnyObject>,
141 ) -> Retained<NSString>;
142
143 #[unsafe(method(timeIntervalSinceReferenceDate))]
144 #[unsafe(method_family = none)]
145 pub unsafe fn timeIntervalSinceReferenceDate_class() -> NSTimeInterval;
146 );
147}
148
149impl NSDate {
151 extern_methods!(
152 #[unsafe(method(date))]
153 #[unsafe(method_family = none)]
154 pub unsafe fn date() -> Retained<Self>;
155
156 #[unsafe(method(dateWithTimeIntervalSinceNow:))]
157 #[unsafe(method_family = none)]
158 pub unsafe fn dateWithTimeIntervalSinceNow(secs: NSTimeInterval) -> Retained<Self>;
159
160 #[unsafe(method(dateWithTimeIntervalSinceReferenceDate:))]
161 #[unsafe(method_family = none)]
162 pub unsafe fn dateWithTimeIntervalSinceReferenceDate(ti: NSTimeInterval) -> Retained<Self>;
163
164 #[unsafe(method(dateWithTimeIntervalSince1970:))]
165 #[unsafe(method_family = none)]
166 pub unsafe fn dateWithTimeIntervalSince1970(secs: NSTimeInterval) -> Retained<Self>;
167
168 #[unsafe(method(dateWithTimeInterval:sinceDate:))]
169 #[unsafe(method_family = none)]
170 pub unsafe fn dateWithTimeInterval_sinceDate(
171 secs_to_be_added: NSTimeInterval,
172 date: &NSDate,
173 ) -> Retained<Self>;
174
175 #[unsafe(method(distantFuture))]
176 #[unsafe(method_family = none)]
177 pub unsafe fn distantFuture() -> Retained<NSDate>;
178
179 #[unsafe(method(distantPast))]
180 #[unsafe(method_family = none)]
181 pub unsafe fn distantPast() -> Retained<NSDate>;
182
183 #[unsafe(method(now))]
184 #[unsafe(method_family = none)]
185 pub unsafe fn now() -> Retained<NSDate>;
186
187 #[unsafe(method(initWithTimeIntervalSinceNow:))]
188 #[unsafe(method_family = init)]
189 pub unsafe fn initWithTimeIntervalSinceNow(
190 this: Allocated<Self>,
191 secs: NSTimeInterval,
192 ) -> Retained<Self>;
193
194 #[unsafe(method(initWithTimeIntervalSince1970:))]
195 #[unsafe(method_family = init)]
196 pub unsafe fn initWithTimeIntervalSince1970(
197 this: Allocated<Self>,
198 secs: NSTimeInterval,
199 ) -> Retained<Self>;
200
201 #[unsafe(method(initWithTimeInterval:sinceDate:))]
202 #[unsafe(method_family = init)]
203 pub unsafe fn initWithTimeInterval_sinceDate(
204 this: Allocated<Self>,
205 secs_to_be_added: NSTimeInterval,
206 date: &NSDate,
207 ) -> Retained<Self>;
208 );
209}