objc2_core_motion/generated/
CMAltimeter.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::*;
6use objc2_foundation::*;
7
8use crate::*;
9
10/// [Apple's documentation](https://developer.apple.com/documentation/coremotion/cmaltitudehandler?language=objc)
11#[cfg(all(feature = "CMAltitude", feature = "CMLogItem", feature = "block2"))]
12pub type CMAltitudeHandler = *mut block2::DynBlock<dyn Fn(*mut CMAltitudeData, *mut NSError)>;
13
14/// [Apple's documentation](https://developer.apple.com/documentation/coremotion/cmabsolutealtitudehandler?language=objc)
15#[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    /// [Apple's documentation](https://developer.apple.com/documentation/coremotion/cmaltimeter?language=objc)
25    #[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
81/// Methods declared on superclass `NSObject`.
82impl 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}