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")]
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
72/// Methods declared on superclass `NSObject`.
73impl NSDate {
74    extern_methods!(
75        #[unsafe(method(new))]
76        #[unsafe(method_family = new)]
77        pub unsafe fn new() -> Retained<Self>;
78    );
79}
80
81/// NSExtendedDate.
82impl 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
141/// NSDateCreation.
142impl 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}