objc2_foundation/generated/
NSDate.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
9extern "C" {
10    /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nssystemclockdidchangenotification?language=objc)
11    #[cfg(all(feature = "NSNotification", feature = "NSString"))]
12    pub static NSSystemClockDidChangeNotification: &'static NSNotificationName;
13}
14
15/// [Apple's documentation](https://developer.apple.com/documentation/foundation/nstimeinterval?language=objc)
16pub type NSTimeInterval = c_double;
17
18extern_class!(
19    /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nsdate?language=objc)
20    #[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
80/// Methods declared on superclass `NSObject`.
81impl NSDate {
82    extern_methods!(
83        #[unsafe(method(new))]
84        #[unsafe(method_family = new)]
85        pub unsafe fn new() -> Retained<Self>;
86    );
87}
88
89/// NSExtendedDate.
90impl 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
149/// NSDateCreation.
150impl 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}