objc2_core_motion/generated/
CMAltimeter.rs1use core::ffi::*;
4use core::ptr::NonNull;
5use objc2::__framework_prelude::*;
6use objc2_foundation::*;
7
8use crate::*;
9
10#[cfg(all(feature = "CMAltitude", feature = "CMLogItem", feature = "block2"))]
12pub type CMAltitudeHandler = *mut block2::DynBlock<dyn Fn(*mut CMAltitudeData, *mut NSError)>;
13
14#[cfg(all(
16 feature = "CMAbsoluteAltitude",
17 feature = "CMLogItem",
18 feature = "block2"
19))]
20pub type CMAbsoluteAltitudeHandler =
21 *mut block2::DynBlock<dyn Fn(*mut CMAbsoluteAltitudeData, *mut NSError)>;
22
23extern_class!(
24 #[unsafe(super(NSObject))]
26 #[derive(Debug, PartialEq, Eq, Hash)]
27 pub struct CMAltimeter;
28);
29
30extern_conformance!(
31 unsafe impl NSObjectProtocol for CMAltimeter {}
32);
33
34impl CMAltimeter {
35 extern_methods!(
36 #[unsafe(method(isRelativeAltitudeAvailable))]
37 #[unsafe(method_family = none)]
38 pub unsafe fn isRelativeAltitudeAvailable() -> bool;
39
40 #[cfg(feature = "CMAuthorization")]
41 #[unsafe(method(authorizationStatus))]
42 #[unsafe(method_family = none)]
43 pub unsafe fn authorizationStatus() -> CMAuthorizationStatus;
44
45 #[cfg(all(feature = "CMAltitude", feature = "CMLogItem", feature = "block2"))]
46 #[unsafe(method(startRelativeAltitudeUpdatesToQueue:withHandler:))]
47 #[unsafe(method_family = none)]
48 pub unsafe fn startRelativeAltitudeUpdatesToQueue_withHandler(
49 &self,
50 queue: &NSOperationQueue,
51 handler: CMAltitudeHandler,
52 );
53
54 #[unsafe(method(stopRelativeAltitudeUpdates))]
55 #[unsafe(method_family = none)]
56 pub unsafe fn stopRelativeAltitudeUpdates(&self);
57
58 #[unsafe(method(isAbsoluteAltitudeAvailable))]
59 #[unsafe(method_family = none)]
60 pub unsafe fn isAbsoluteAltitudeAvailable() -> bool;
61
62 #[cfg(all(
63 feature = "CMAbsoluteAltitude",
64 feature = "CMLogItem",
65 feature = "block2"
66 ))]
67 #[unsafe(method(startAbsoluteAltitudeUpdatesToQueue:withHandler:))]
68 #[unsafe(method_family = none)]
69 pub unsafe fn startAbsoluteAltitudeUpdatesToQueue_withHandler(
70 &self,
71 queue: &NSOperationQueue,
72 handler: CMAbsoluteAltitudeHandler,
73 );
74
75 #[unsafe(method(stopAbsoluteAltitudeUpdates))]
76 #[unsafe(method_family = none)]
77 pub unsafe fn stopAbsoluteAltitudeUpdates(&self);
78 );
79}
80
81impl CMAltimeter {
83 extern_methods!(
84 #[unsafe(method(init))]
85 #[unsafe(method_family = init)]
86 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
87
88 #[unsafe(method(new))]
89 #[unsafe(method_family = new)]
90 pub unsafe fn new() -> Retained<Self>;
91 );
92}