objc2_core_motion/generated/
CMMotionManager.rs1use core::ffi::*;
4use core::ptr::NonNull;
5use objc2::__framework_prelude::*;
6use objc2_foundation::*;
7
8use crate::*;
9
10#[cfg(all(feature = "CMAccelerometer", feature = "CMLogItem", feature = "block2"))]
12pub type CMAccelerometerHandler =
13 *mut block2::DynBlock<dyn Fn(*mut CMAccelerometerData, *mut NSError)>;
14
15#[cfg(all(feature = "CMGyro", feature = "CMLogItem", feature = "block2"))]
17pub type CMGyroHandler = *mut block2::DynBlock<dyn Fn(*mut CMGyroData, *mut NSError)>;
18
19#[cfg(all(feature = "CMDeviceMotion", feature = "CMLogItem", feature = "block2"))]
21pub type CMDeviceMotionHandler = *mut block2::DynBlock<dyn Fn(*mut CMDeviceMotion, *mut NSError)>;
22
23#[cfg(all(feature = "CMLogItem", feature = "CMMagnetometer", feature = "block2"))]
25pub type CMMagnetometerHandler =
26 *mut block2::DynBlock<dyn Fn(*mut CMMagnetometerData, *mut NSError)>;
27
28extern_class!(
29 #[unsafe(super(NSObject))]
31 #[derive(Debug, PartialEq, Eq, Hash)]
32 pub struct CMMotionManager;
33);
34
35extern_conformance!(
36 unsafe impl NSObjectProtocol for CMMotionManager {}
37);
38
39impl CMMotionManager {
40 extern_methods!(
41 #[unsafe(method(accelerometerUpdateInterval))]
42 #[unsafe(method_family = none)]
43 pub unsafe fn accelerometerUpdateInterval(&self) -> NSTimeInterval;
44
45 #[unsafe(method(setAccelerometerUpdateInterval:))]
47 #[unsafe(method_family = none)]
48 pub unsafe fn setAccelerometerUpdateInterval(
49 &self,
50 accelerometer_update_interval: NSTimeInterval,
51 );
52
53 #[unsafe(method(isAccelerometerAvailable))]
54 #[unsafe(method_family = none)]
55 pub unsafe fn isAccelerometerAvailable(&self) -> bool;
56
57 #[unsafe(method(isAccelerometerActive))]
58 #[unsafe(method_family = none)]
59 pub unsafe fn isAccelerometerActive(&self) -> bool;
60
61 #[cfg(all(feature = "CMAccelerometer", feature = "CMLogItem"))]
62 #[unsafe(method(accelerometerData))]
63 #[unsafe(method_family = none)]
64 pub unsafe fn accelerometerData(&self) -> Option<Retained<CMAccelerometerData>>;
65
66 #[unsafe(method(startAccelerometerUpdates))]
67 #[unsafe(method_family = none)]
68 pub unsafe fn startAccelerometerUpdates(&self);
69
70 #[cfg(all(feature = "CMAccelerometer", feature = "CMLogItem", feature = "block2"))]
71 #[unsafe(method(startAccelerometerUpdatesToQueue:withHandler:))]
76 #[unsafe(method_family = none)]
77 pub unsafe fn startAccelerometerUpdatesToQueue_withHandler(
78 &self,
79 queue: &NSOperationQueue,
80 handler: CMAccelerometerHandler,
81 );
82
83 #[unsafe(method(stopAccelerometerUpdates))]
84 #[unsafe(method_family = none)]
85 pub unsafe fn stopAccelerometerUpdates(&self);
86
87 #[unsafe(method(gyroUpdateInterval))]
88 #[unsafe(method_family = none)]
89 pub unsafe fn gyroUpdateInterval(&self) -> NSTimeInterval;
90
91 #[unsafe(method(setGyroUpdateInterval:))]
93 #[unsafe(method_family = none)]
94 pub unsafe fn setGyroUpdateInterval(&self, gyro_update_interval: NSTimeInterval);
95
96 #[unsafe(method(isGyroAvailable))]
97 #[unsafe(method_family = none)]
98 pub unsafe fn isGyroAvailable(&self) -> bool;
99
100 #[unsafe(method(isGyroActive))]
101 #[unsafe(method_family = none)]
102 pub unsafe fn isGyroActive(&self) -> bool;
103
104 #[cfg(all(feature = "CMGyro", feature = "CMLogItem"))]
105 #[unsafe(method(gyroData))]
106 #[unsafe(method_family = none)]
107 pub unsafe fn gyroData(&self) -> Option<Retained<CMGyroData>>;
108
109 #[unsafe(method(startGyroUpdates))]
110 #[unsafe(method_family = none)]
111 pub unsafe fn startGyroUpdates(&self);
112
113 #[cfg(all(feature = "CMGyro", feature = "CMLogItem", feature = "block2"))]
114 #[unsafe(method(startGyroUpdatesToQueue:withHandler:))]
119 #[unsafe(method_family = none)]
120 pub unsafe fn startGyroUpdatesToQueue_withHandler(
121 &self,
122 queue: &NSOperationQueue,
123 handler: CMGyroHandler,
124 );
125
126 #[unsafe(method(stopGyroUpdates))]
127 #[unsafe(method_family = none)]
128 pub unsafe fn stopGyroUpdates(&self);
129
130 #[unsafe(method(magnetometerUpdateInterval))]
131 #[unsafe(method_family = none)]
132 pub unsafe fn magnetometerUpdateInterval(&self) -> NSTimeInterval;
133
134 #[unsafe(method(setMagnetometerUpdateInterval:))]
136 #[unsafe(method_family = none)]
137 pub unsafe fn setMagnetometerUpdateInterval(
138 &self,
139 magnetometer_update_interval: NSTimeInterval,
140 );
141
142 #[unsafe(method(isMagnetometerAvailable))]
143 #[unsafe(method_family = none)]
144 pub unsafe fn isMagnetometerAvailable(&self) -> bool;
145
146 #[unsafe(method(isMagnetometerActive))]
147 #[unsafe(method_family = none)]
148 pub unsafe fn isMagnetometerActive(&self) -> bool;
149
150 #[cfg(all(feature = "CMLogItem", feature = "CMMagnetometer"))]
151 #[unsafe(method(magnetometerData))]
152 #[unsafe(method_family = none)]
153 pub unsafe fn magnetometerData(&self) -> Option<Retained<CMMagnetometerData>>;
154
155 #[unsafe(method(startMagnetometerUpdates))]
156 #[unsafe(method_family = none)]
157 pub unsafe fn startMagnetometerUpdates(&self);
158
159 #[cfg(all(feature = "CMLogItem", feature = "CMMagnetometer", feature = "block2"))]
160 #[unsafe(method(startMagnetometerUpdatesToQueue:withHandler:))]
165 #[unsafe(method_family = none)]
166 pub unsafe fn startMagnetometerUpdatesToQueue_withHandler(
167 &self,
168 queue: &NSOperationQueue,
169 handler: CMMagnetometerHandler,
170 );
171
172 #[unsafe(method(stopMagnetometerUpdates))]
173 #[unsafe(method_family = none)]
174 pub unsafe fn stopMagnetometerUpdates(&self);
175
176 #[unsafe(method(deviceMotionUpdateInterval))]
177 #[unsafe(method_family = none)]
178 pub unsafe fn deviceMotionUpdateInterval(&self) -> NSTimeInterval;
179
180 #[unsafe(method(setDeviceMotionUpdateInterval:))]
182 #[unsafe(method_family = none)]
183 pub unsafe fn setDeviceMotionUpdateInterval(
184 &self,
185 device_motion_update_interval: NSTimeInterval,
186 );
187
188 #[cfg(feature = "CMAttitude")]
189 #[unsafe(method(availableAttitudeReferenceFrames))]
190 #[unsafe(method_family = none)]
191 pub unsafe fn availableAttitudeReferenceFrames() -> CMAttitudeReferenceFrame;
192
193 #[cfg(feature = "CMAttitude")]
194 #[unsafe(method(attitudeReferenceFrame))]
195 #[unsafe(method_family = none)]
196 pub unsafe fn attitudeReferenceFrame(&self) -> CMAttitudeReferenceFrame;
197
198 #[unsafe(method(isDeviceMotionAvailable))]
199 #[unsafe(method_family = none)]
200 pub unsafe fn isDeviceMotionAvailable(&self) -> bool;
201
202 #[unsafe(method(isDeviceMotionActive))]
203 #[unsafe(method_family = none)]
204 pub unsafe fn isDeviceMotionActive(&self) -> bool;
205
206 #[cfg(all(feature = "CMDeviceMotion", feature = "CMLogItem"))]
207 #[unsafe(method(deviceMotion))]
208 #[unsafe(method_family = none)]
209 pub unsafe fn deviceMotion(&self) -> Option<Retained<CMDeviceMotion>>;
210
211 #[unsafe(method(startDeviceMotionUpdates))]
212 #[unsafe(method_family = none)]
213 pub unsafe fn startDeviceMotionUpdates(&self);
214
215 #[cfg(all(feature = "CMDeviceMotion", feature = "CMLogItem", feature = "block2"))]
216 #[unsafe(method(startDeviceMotionUpdatesToQueue:withHandler:))]
221 #[unsafe(method_family = none)]
222 pub unsafe fn startDeviceMotionUpdatesToQueue_withHandler(
223 &self,
224 queue: &NSOperationQueue,
225 handler: CMDeviceMotionHandler,
226 );
227
228 #[cfg(feature = "CMAttitude")]
229 #[unsafe(method(startDeviceMotionUpdatesUsingReferenceFrame:))]
230 #[unsafe(method_family = none)]
231 pub unsafe fn startDeviceMotionUpdatesUsingReferenceFrame(
232 &self,
233 reference_frame: CMAttitudeReferenceFrame,
234 );
235
236 #[cfg(all(
237 feature = "CMAttitude",
238 feature = "CMDeviceMotion",
239 feature = "CMLogItem",
240 feature = "block2"
241 ))]
242 #[unsafe(method(startDeviceMotionUpdatesUsingReferenceFrame:toQueue:withHandler:))]
247 #[unsafe(method_family = none)]
248 pub unsafe fn startDeviceMotionUpdatesUsingReferenceFrame_toQueue_withHandler(
249 &self,
250 reference_frame: CMAttitudeReferenceFrame,
251 queue: &NSOperationQueue,
252 handler: CMDeviceMotionHandler,
253 );
254
255 #[unsafe(method(stopDeviceMotionUpdates))]
256 #[unsafe(method_family = none)]
257 pub unsafe fn stopDeviceMotionUpdates(&self);
258
259 #[unsafe(method(showsDeviceMovementDisplay))]
260 #[unsafe(method_family = none)]
261 pub unsafe fn showsDeviceMovementDisplay(&self) -> bool;
262
263 #[unsafe(method(setShowsDeviceMovementDisplay:))]
265 #[unsafe(method_family = none)]
266 pub unsafe fn setShowsDeviceMovementDisplay(&self, shows_device_movement_display: bool);
267 );
268}
269
270impl CMMotionManager {
272 extern_methods!(
273 #[unsafe(method(init))]
274 #[unsafe(method_family = init)]
275 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
276
277 #[unsafe(method(new))]
278 #[unsafe(method_family = new)]
279 pub unsafe fn new() -> Retained<Self>;
280 );
281}