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")]
30unsafe impl NSCoding for NSDate {}
31
32#[cfg(feature = "NSObject")]
33unsafe impl NSCopying for NSDate {}
34
35#[cfg(feature = "NSObject")]
36unsafe impl CopyingHelper for NSDate {
37 type Result = Self;
38}
39
40unsafe impl NSObjectProtocol for NSDate {}
41
42#[cfg(feature = "NSObject")]
43unsafe impl NSSecureCoding for NSDate {}
44
45impl NSDate {
46 extern_methods!(
47 #[unsafe(method(timeIntervalSinceReferenceDate))]
48 #[unsafe(method_family = none)]
49 pub unsafe fn timeIntervalSinceReferenceDate(&self) -> NSTimeInterval;
50
51 #[unsafe(method(init))]
52 #[unsafe(method_family = init)]
53 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
54
55 #[unsafe(method(initWithTimeIntervalSinceReferenceDate:))]
56 #[unsafe(method_family = init)]
57 pub unsafe fn initWithTimeIntervalSinceReferenceDate(
58 this: Allocated<Self>,
59 ti: NSTimeInterval,
60 ) -> Retained<Self>;
61
62 #[cfg(feature = "NSCoder")]
63 #[unsafe(method(initWithCoder:))]
64 #[unsafe(method_family = init)]
65 pub unsafe fn initWithCoder(
66 this: Allocated<Self>,
67 coder: &NSCoder,
68 ) -> Option<Retained<Self>>;
69 );
70}
71
72impl NSDate {
74 extern_methods!(
75 #[unsafe(method(new))]
76 #[unsafe(method_family = new)]
77 pub unsafe fn new() -> Retained<Self>;
78 );
79}
80
81impl NSDate {
83 extern_methods!(
84 #[unsafe(method(timeIntervalSinceDate:))]
85 #[unsafe(method_family = none)]
86 pub unsafe fn timeIntervalSinceDate(&self, another_date: &NSDate) -> NSTimeInterval;
87
88 #[unsafe(method(timeIntervalSinceNow))]
89 #[unsafe(method_family = none)]
90 pub unsafe fn timeIntervalSinceNow(&self) -> NSTimeInterval;
91
92 #[unsafe(method(timeIntervalSince1970))]
93 #[unsafe(method_family = none)]
94 pub unsafe fn timeIntervalSince1970(&self) -> NSTimeInterval;
95
96 #[deprecated = "Use dateByAddingTimeInterval instead"]
97 #[unsafe(method(addTimeInterval:))]
98 #[unsafe(method_family = none)]
99 pub unsafe fn addTimeInterval(&self, seconds: NSTimeInterval) -> Retained<AnyObject>;
100
101 #[unsafe(method(dateByAddingTimeInterval:))]
102 #[unsafe(method_family = none)]
103 pub unsafe fn dateByAddingTimeInterval(&self, ti: NSTimeInterval) -> Retained<Self>;
104
105 #[unsafe(method(earlierDate:))]
106 #[unsafe(method_family = none)]
107 pub unsafe fn earlierDate(&self, another_date: &NSDate) -> Retained<NSDate>;
108
109 #[unsafe(method(laterDate:))]
110 #[unsafe(method_family = none)]
111 pub unsafe fn laterDate(&self, another_date: &NSDate) -> Retained<NSDate>;
112
113 #[cfg(feature = "NSObjCRuntime")]
114 #[unsafe(method(compare:))]
115 #[unsafe(method_family = none)]
116 pub unsafe fn compare(&self, other: &NSDate) -> NSComparisonResult;
117
118 #[unsafe(method(isEqualToDate:))]
119 #[unsafe(method_family = none)]
120 pub unsafe fn isEqualToDate(&self, other_date: &NSDate) -> bool;
121
122 #[cfg(feature = "NSString")]
123 #[unsafe(method(description))]
124 #[unsafe(method_family = none)]
125 pub unsafe fn description(&self) -> Retained<NSString>;
126
127 #[cfg(feature = "NSString")]
128 #[unsafe(method(descriptionWithLocale:))]
129 #[unsafe(method_family = none)]
130 pub unsafe fn descriptionWithLocale(
131 &self,
132 locale: Option<&AnyObject>,
133 ) -> Retained<NSString>;
134
135 #[unsafe(method(timeIntervalSinceReferenceDate))]
136 #[unsafe(method_family = none)]
137 pub unsafe fn timeIntervalSinceReferenceDate_class() -> NSTimeInterval;
138 );
139}
140
141impl NSDate {
143 extern_methods!(
144 #[unsafe(method(date))]
145 #[unsafe(method_family = none)]
146 pub unsafe fn date() -> Retained<Self>;
147
148 #[unsafe(method(dateWithTimeIntervalSinceNow:))]
149 #[unsafe(method_family = none)]
150 pub unsafe fn dateWithTimeIntervalSinceNow(secs: NSTimeInterval) -> Retained<Self>;
151
152 #[unsafe(method(dateWithTimeIntervalSinceReferenceDate:))]
153 #[unsafe(method_family = none)]
154 pub unsafe fn dateWithTimeIntervalSinceReferenceDate(ti: NSTimeInterval) -> Retained<Self>;
155
156 #[unsafe(method(dateWithTimeIntervalSince1970:))]
157 #[unsafe(method_family = none)]
158 pub unsafe fn dateWithTimeIntervalSince1970(secs: NSTimeInterval) -> Retained<Self>;
159
160 #[unsafe(method(dateWithTimeInterval:sinceDate:))]
161 #[unsafe(method_family = none)]
162 pub unsafe fn dateWithTimeInterval_sinceDate(
163 secs_to_be_added: NSTimeInterval,
164 date: &NSDate,
165 ) -> Retained<Self>;
166
167 #[unsafe(method(distantFuture))]
168 #[unsafe(method_family = none)]
169 pub unsafe fn distantFuture() -> Retained<NSDate>;
170
171 #[unsafe(method(distantPast))]
172 #[unsafe(method_family = none)]
173 pub unsafe fn distantPast() -> Retained<NSDate>;
174
175 #[unsafe(method(now))]
176 #[unsafe(method_family = none)]
177 pub unsafe fn now() -> Retained<NSDate>;
178
179 #[unsafe(method(initWithTimeIntervalSinceNow:))]
180 #[unsafe(method_family = init)]
181 pub unsafe fn initWithTimeIntervalSinceNow(
182 this: Allocated<Self>,
183 secs: NSTimeInterval,
184 ) -> Retained<Self>;
185
186 #[unsafe(method(initWithTimeIntervalSince1970:))]
187 #[unsafe(method_family = init)]
188 pub unsafe fn initWithTimeIntervalSince1970(
189 this: Allocated<Self>,
190 secs: NSTimeInterval,
191 ) -> Retained<Self>;
192
193 #[unsafe(method(initWithTimeInterval:sinceDate:))]
194 #[unsafe(method_family = init)]
195 pub unsafe fn initWithTimeInterval_sinceDate(
196 this: Allocated<Self>,
197 secs_to_be_added: NSTimeInterval,
198 date: &NSDate,
199 ) -> Retained<Self>;
200 );
201}