objc2_core_motion/generated/
CMWaterSubmersionManager.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
10extern_protocol!(
11    /// [Apple's documentation](https://developer.apple.com/documentation/coremotion/cmwatersubmersionmanagerdelegate?language=objc)
12    pub unsafe trait CMWaterSubmersionManagerDelegate: NSObjectProtocol {
13        #[cfg(feature = "CMWaterSubmersionData")]
14        #[unsafe(method(manager:didUpdateEvent:))]
15        #[unsafe(method_family = none)]
16        unsafe fn manager_didUpdateEvent(
17            &self,
18            manager: &CMWaterSubmersionManager,
19            event: &CMWaterSubmersionEvent,
20        );
21
22        #[cfg(feature = "CMWaterSubmersionData")]
23        #[unsafe(method(manager:didUpdateMeasurement:))]
24        #[unsafe(method_family = none)]
25        unsafe fn manager_didUpdateMeasurement(
26            &self,
27            manager: &CMWaterSubmersionManager,
28            measurement: &CMWaterSubmersionMeasurement,
29        );
30
31        #[cfg(feature = "CMWaterSubmersionData")]
32        #[unsafe(method(manager:didUpdateTemperature:))]
33        #[unsafe(method_family = none)]
34        unsafe fn manager_didUpdateTemperature(
35            &self,
36            manager: &CMWaterSubmersionManager,
37            measurement: &CMWaterTemperature,
38        );
39
40        #[unsafe(method(manager:errorOccurred:))]
41        #[unsafe(method_family = none)]
42        unsafe fn manager_errorOccurred(&self, manager: &CMWaterSubmersionManager, error: &NSError);
43    }
44);
45
46extern_class!(
47    /// [Apple's documentation](https://developer.apple.com/documentation/coremotion/cmwatersubmersionmanager?language=objc)
48    #[unsafe(super(NSObject))]
49    #[derive(Debug, PartialEq, Eq, Hash)]
50    pub struct CMWaterSubmersionManager;
51);
52
53extern_conformance!(
54    unsafe impl NSObjectProtocol for CMWaterSubmersionManager {}
55);
56
57impl CMWaterSubmersionManager {
58    extern_methods!(
59        #[unsafe(method(delegate))]
60        #[unsafe(method_family = none)]
61        pub unsafe fn delegate(
62            &self,
63        ) -> Option<Retained<ProtocolObject<dyn CMWaterSubmersionManagerDelegate>>>;
64
65        /// Setter for [`delegate`][Self::delegate].
66        ///
67        /// This is a [weak property][objc2::topics::weak_property].
68        #[unsafe(method(setDelegate:))]
69        #[unsafe(method_family = none)]
70        pub unsafe fn setDelegate(
71            &self,
72            delegate: Option<&ProtocolObject<dyn CMWaterSubmersionManagerDelegate>>,
73        );
74
75        #[unsafe(method(waterSubmersionAvailable))]
76        #[unsafe(method_family = none)]
77        pub unsafe fn waterSubmersionAvailable() -> bool;
78
79        #[cfg(feature = "CMAuthorization")]
80        #[unsafe(method(authorizationStatus))]
81        #[unsafe(method_family = none)]
82        pub unsafe fn authorizationStatus() -> CMAuthorizationStatus;
83
84        #[unsafe(method(maximumDepth))]
85        #[unsafe(method_family = none)]
86        pub unsafe fn maximumDepth(&self) -> Option<Retained<NSMeasurement<NSUnitLength>>>;
87    );
88}
89
90/// Methods declared on superclass `NSObject`.
91impl CMWaterSubmersionManager {
92    extern_methods!(
93        #[unsafe(method(init))]
94        #[unsafe(method_family = init)]
95        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
96
97        #[unsafe(method(new))]
98        #[unsafe(method_family = new)]
99        pub unsafe fn new() -> Retained<Self>;
100    );
101}