objc2_core_motion/generated/
CMWaterSubmersionData.rs

1//! This file has been automatically generated by `objc2`'s `header-translator`.
2//! DO NOT EDIT
3use core::ptr::NonNull;
4use objc2::__framework_prelude::*;
5use objc2_foundation::*;
6
7use crate::*;
8
9/// [Apple's documentation](https://developer.apple.com/documentation/coremotion/cmwatersubmersionstate?language=objc)
10// NS_ENUM
11#[repr(transparent)]
12#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
13pub struct CMWaterSubmersionState(pub NSInteger);
14impl CMWaterSubmersionState {
15    #[doc(alias = "CMWaterSubmersionStateUnknown")]
16    pub const Unknown: Self = Self(0);
17    #[doc(alias = "CMWaterSubmersionStateNotSubmerged")]
18    pub const NotSubmerged: Self = Self(1);
19    #[doc(alias = "CMWaterSubmersionStateSubmerged")]
20    pub const Submerged: Self = Self(2);
21}
22
23unsafe impl Encode for CMWaterSubmersionState {
24    const ENCODING: Encoding = NSInteger::ENCODING;
25}
26
27unsafe impl RefEncode for CMWaterSubmersionState {
28    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
29}
30
31/// [Apple's documentation](https://developer.apple.com/documentation/coremotion/cmwatersubmersiondepthstate?language=objc)
32// NS_ENUM
33#[repr(transparent)]
34#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
35pub struct CMWaterSubmersionDepthState(pub NSInteger);
36impl CMWaterSubmersionDepthState {
37    #[doc(alias = "CMWaterSubmersionDepthStateUnknown")]
38    pub const Unknown: Self = Self(0);
39    #[doc(alias = "CMWaterSubmersionDepthStateNotSubmerged")]
40    pub const NotSubmerged: Self = Self(100);
41    #[doc(alias = "CMWaterSubmersionDepthStateSubmergedShallow")]
42    pub const SubmergedShallow: Self = Self(200);
43    #[doc(alias = "CMWaterSubmersionDepthStateSubmergedDeep")]
44    pub const SubmergedDeep: Self = Self(300);
45    #[doc(alias = "CMWaterSubmersionDepthStateApproachingMaxDepth")]
46    pub const ApproachingMaxDepth: Self = Self(400);
47    #[doc(alias = "CMWaterSubmersionDepthStatePastMaxDepth")]
48    pub const PastMaxDepth: Self = Self(500);
49    #[doc(alias = "CMWaterSubmersionDepthStateSensorDepthError")]
50    pub const SensorDepthError: Self = Self(600);
51}
52
53unsafe impl Encode for CMWaterSubmersionDepthState {
54    const ENCODING: Encoding = NSInteger::ENCODING;
55}
56
57unsafe impl RefEncode for CMWaterSubmersionDepthState {
58    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
59}
60
61extern_class!(
62    /// [Apple's documentation](https://developer.apple.com/documentation/coremotion/cmwatersubmersionevent?language=objc)
63    #[unsafe(super(NSObject))]
64    #[derive(Debug, PartialEq, Eq, Hash)]
65    pub struct CMWaterSubmersionEvent;
66);
67
68extern_conformance!(
69    unsafe impl NSCoding for CMWaterSubmersionEvent {}
70);
71
72extern_conformance!(
73    unsafe impl NSCopying for CMWaterSubmersionEvent {}
74);
75
76unsafe impl CopyingHelper for CMWaterSubmersionEvent {
77    type Result = Self;
78}
79
80extern_conformance!(
81    unsafe impl NSObjectProtocol for CMWaterSubmersionEvent {}
82);
83
84extern_conformance!(
85    unsafe impl NSSecureCoding for CMWaterSubmersionEvent {}
86);
87
88impl CMWaterSubmersionEvent {
89    extern_methods!(
90        #[unsafe(method(date))]
91        #[unsafe(method_family = none)]
92        pub unsafe fn date(&self) -> Retained<NSDate>;
93
94        #[unsafe(method(state))]
95        #[unsafe(method_family = none)]
96        pub unsafe fn state(&self) -> CMWaterSubmersionState;
97    );
98}
99
100/// Methods declared on superclass `NSObject`.
101impl CMWaterSubmersionEvent {
102    extern_methods!(
103        #[unsafe(method(init))]
104        #[unsafe(method_family = init)]
105        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
106
107        #[unsafe(method(new))]
108        #[unsafe(method_family = new)]
109        pub unsafe fn new() -> Retained<Self>;
110    );
111}
112
113extern_class!(
114    /// [Apple's documentation](https://developer.apple.com/documentation/coremotion/cmwatersubmersionmeasurement?language=objc)
115    #[unsafe(super(NSObject))]
116    #[derive(Debug, PartialEq, Eq, Hash)]
117    pub struct CMWaterSubmersionMeasurement;
118);
119
120extern_conformance!(
121    unsafe impl NSCoding for CMWaterSubmersionMeasurement {}
122);
123
124extern_conformance!(
125    unsafe impl NSCopying for CMWaterSubmersionMeasurement {}
126);
127
128unsafe impl CopyingHelper for CMWaterSubmersionMeasurement {
129    type Result = Self;
130}
131
132extern_conformance!(
133    unsafe impl NSObjectProtocol for CMWaterSubmersionMeasurement {}
134);
135
136extern_conformance!(
137    unsafe impl NSSecureCoding for CMWaterSubmersionMeasurement {}
138);
139
140impl CMWaterSubmersionMeasurement {
141    extern_methods!(
142        #[unsafe(method(date))]
143        #[unsafe(method_family = none)]
144        pub unsafe fn date(&self) -> Retained<NSDate>;
145
146        #[unsafe(method(depth))]
147        #[unsafe(method_family = none)]
148        pub unsafe fn depth(&self) -> Option<Retained<NSMeasurement<NSUnitLength>>>;
149
150        #[unsafe(method(pressure))]
151        #[unsafe(method_family = none)]
152        pub unsafe fn pressure(&self) -> Option<Retained<NSMeasurement<NSUnitPressure>>>;
153
154        #[unsafe(method(surfacePressure))]
155        #[unsafe(method_family = none)]
156        pub unsafe fn surfacePressure(&self) -> Retained<NSMeasurement<NSUnitPressure>>;
157
158        #[unsafe(method(submersionState))]
159        #[unsafe(method_family = none)]
160        pub unsafe fn submersionState(&self) -> CMWaterSubmersionDepthState;
161    );
162}
163
164/// Methods declared on superclass `NSObject`.
165impl CMWaterSubmersionMeasurement {
166    extern_methods!(
167        #[unsafe(method(init))]
168        #[unsafe(method_family = init)]
169        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
170
171        #[unsafe(method(new))]
172        #[unsafe(method_family = new)]
173        pub unsafe fn new() -> Retained<Self>;
174    );
175}
176
177extern_class!(
178    /// [Apple's documentation](https://developer.apple.com/documentation/coremotion/cmwatertemperature?language=objc)
179    #[unsafe(super(NSObject))]
180    #[derive(Debug, PartialEq, Eq, Hash)]
181    pub struct CMWaterTemperature;
182);
183
184extern_conformance!(
185    unsafe impl NSCoding for CMWaterTemperature {}
186);
187
188extern_conformance!(
189    unsafe impl NSCopying for CMWaterTemperature {}
190);
191
192unsafe impl CopyingHelper for CMWaterTemperature {
193    type Result = Self;
194}
195
196extern_conformance!(
197    unsafe impl NSObjectProtocol for CMWaterTemperature {}
198);
199
200extern_conformance!(
201    unsafe impl NSSecureCoding for CMWaterTemperature {}
202);
203
204impl CMWaterTemperature {
205    extern_methods!(
206        #[unsafe(method(date))]
207        #[unsafe(method_family = none)]
208        pub unsafe fn date(&self) -> Retained<NSDate>;
209
210        #[unsafe(method(temperature))]
211        #[unsafe(method_family = none)]
212        pub unsafe fn temperature(&self) -> Retained<NSMeasurement<NSUnitTemperature>>;
213
214        #[unsafe(method(temperatureUncertainty))]
215        #[unsafe(method_family = none)]
216        pub unsafe fn temperatureUncertainty(&self) -> Retained<NSMeasurement<NSUnitTemperature>>;
217    );
218}
219
220/// Methods declared on superclass `NSObject`.
221impl CMWaterTemperature {
222    extern_methods!(
223        #[unsafe(method(init))]
224        #[unsafe(method_family = init)]
225        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
226
227        #[unsafe(method(new))]
228        #[unsafe(method_family = new)]
229        pub unsafe fn new() -> Retained<Self>;
230    );
231}