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:))]
51 #[unsafe(method_family = none)]
52 pub unsafe fn startRelativeAltitudeUpdatesToQueue_withHandler(
53 &self,
54 queue: &NSOperationQueue,
55 handler: CMAltitudeHandler,
56 );
57
58 #[unsafe(method(stopRelativeAltitudeUpdates))]
59 #[unsafe(method_family = none)]
60 pub unsafe fn stopRelativeAltitudeUpdates(&self);
61
62 #[unsafe(method(isAbsoluteAltitudeAvailable))]
63 #[unsafe(method_family = none)]
64 pub unsafe fn isAbsoluteAltitudeAvailable() -> bool;
65
66 #[cfg(all(
67 feature = "CMAbsoluteAltitude",
68 feature = "CMLogItem",
69 feature = "block2"
70 ))]
71 #[unsafe(method(startAbsoluteAltitudeUpdatesToQueue:withHandler:))]
76 #[unsafe(method_family = none)]
77 pub unsafe fn startAbsoluteAltitudeUpdatesToQueue_withHandler(
78 &self,
79 queue: &NSOperationQueue,
80 handler: CMAbsoluteAltitudeHandler,
81 );
82
83 #[unsafe(method(stopAbsoluteAltitudeUpdates))]
84 #[unsafe(method_family = none)]
85 pub unsafe fn stopAbsoluteAltitudeUpdates(&self);
86 );
87}
88
89impl CMAltimeter {
91 extern_methods!(
92 #[unsafe(method(init))]
93 #[unsafe(method_family = init)]
94 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
95
96 #[unsafe(method(new))]
97 #[unsafe(method_family = new)]
98 pub unsafe fn new() -> Retained<Self>;
99 );
100}