objc2_home_kit/generated/
HMCameraSettingsControl.rs

1//! This file has been automatically generated by `objc2`'s `header-translator`.
2//! DO NOT EDIT
3use core::ptr::NonNull;
4use objc2::__framework_prelude::*;
5
6use crate::*;
7
8extern_class!(
9    /// This class can be used to control the settings on a camera.
10    ///
11    /// See also [Apple's documentation](https://developer.apple.com/documentation/homekit/hmcamerasettingscontrol?language=objc)
12    #[unsafe(super(HMCameraControl, NSObject))]
13    #[derive(Debug, PartialEq, Eq, Hash)]
14    #[cfg(feature = "HMCameraControl")]
15    pub struct HMCameraSettingsControl;
16);
17
18#[cfg(feature = "HMCameraControl")]
19unsafe impl Send for HMCameraSettingsControl {}
20
21#[cfg(feature = "HMCameraControl")]
22unsafe impl Sync for HMCameraSettingsControl {}
23
24#[cfg(feature = "HMCameraControl")]
25extern_conformance!(
26    unsafe impl NSObjectProtocol for HMCameraSettingsControl {}
27);
28
29#[cfg(feature = "HMCameraControl")]
30impl HMCameraSettingsControl {
31    extern_methods!(
32        #[unsafe(method(init))]
33        #[unsafe(method_family = init)]
34        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
35
36        #[cfg(feature = "HMCharacteristic")]
37        /// Characteristic corresponding to night vision setting on the camera.
38        ///
39        /// This property is not atomic.
40        ///
41        /// # Safety
42        ///
43        /// This might not be thread-safe.
44        #[unsafe(method(nightVision))]
45        #[unsafe(method_family = none)]
46        pub unsafe fn nightVision(&self) -> Option<Retained<HMCharacteristic>>;
47
48        #[cfg(feature = "HMCharacteristic")]
49        /// Characteristic corresponding to current horizontal tilt setting on the camera.
50        ///
51        /// This property is not atomic.
52        ///
53        /// # Safety
54        ///
55        /// This might not be thread-safe.
56        #[unsafe(method(currentHorizontalTilt))]
57        #[unsafe(method_family = none)]
58        pub unsafe fn currentHorizontalTilt(&self) -> Option<Retained<HMCharacteristic>>;
59
60        #[cfg(feature = "HMCharacteristic")]
61        /// Characteristic corresponding to target horizontal tilt setting on the camera.
62        ///
63        /// This property is not atomic.
64        ///
65        /// # Safety
66        ///
67        /// This might not be thread-safe.
68        #[unsafe(method(targetHorizontalTilt))]
69        #[unsafe(method_family = none)]
70        pub unsafe fn targetHorizontalTilt(&self) -> Option<Retained<HMCharacteristic>>;
71
72        #[cfg(feature = "HMCharacteristic")]
73        /// Characteristic corresponding to current vertical tilt setting on the camera.
74        ///
75        /// This property is not atomic.
76        ///
77        /// # Safety
78        ///
79        /// This might not be thread-safe.
80        #[unsafe(method(currentVerticalTilt))]
81        #[unsafe(method_family = none)]
82        pub unsafe fn currentVerticalTilt(&self) -> Option<Retained<HMCharacteristic>>;
83
84        #[cfg(feature = "HMCharacteristic")]
85        /// Characteristic corresponding to target vertical tilt setting on the camera.
86        ///
87        /// This property is not atomic.
88        ///
89        /// # Safety
90        ///
91        /// This might not be thread-safe.
92        #[unsafe(method(targetVerticalTilt))]
93        #[unsafe(method_family = none)]
94        pub unsafe fn targetVerticalTilt(&self) -> Option<Retained<HMCharacteristic>>;
95
96        #[cfg(feature = "HMCharacteristic")]
97        /// Characteristic corresponding to optical zoom setting on the camera.
98        ///
99        /// This property is not atomic.
100        ///
101        /// # Safety
102        ///
103        /// This might not be thread-safe.
104        #[unsafe(method(opticalZoom))]
105        #[unsafe(method_family = none)]
106        pub unsafe fn opticalZoom(&self) -> Option<Retained<HMCharacteristic>>;
107
108        #[cfg(feature = "HMCharacteristic")]
109        /// Characteristic corresponding to digital zoom setting on the camera.
110        ///
111        /// This property is not atomic.
112        ///
113        /// # Safety
114        ///
115        /// This might not be thread-safe.
116        #[unsafe(method(digitalZoom))]
117        #[unsafe(method_family = none)]
118        pub unsafe fn digitalZoom(&self) -> Option<Retained<HMCharacteristic>>;
119
120        #[cfg(feature = "HMCharacteristic")]
121        /// Characteristic corresponding to image rotation setting on the camera.
122        ///
123        /// This property is not atomic.
124        ///
125        /// # Safety
126        ///
127        /// This might not be thread-safe.
128        #[unsafe(method(imageRotation))]
129        #[unsafe(method_family = none)]
130        pub unsafe fn imageRotation(&self) -> Option<Retained<HMCharacteristic>>;
131
132        #[cfg(feature = "HMCharacteristic")]
133        /// Characteristic corresponding to image mirroring setting on the camera.
134        ///
135        /// This property is not atomic.
136        ///
137        /// # Safety
138        ///
139        /// This might not be thread-safe.
140        #[unsafe(method(imageMirroring))]
141        #[unsafe(method_family = none)]
142        pub unsafe fn imageMirroring(&self) -> Option<Retained<HMCharacteristic>>;
143    );
144}
145
146/// Methods declared on superclass `NSObject`.
147#[cfg(feature = "HMCameraControl")]
148impl HMCameraSettingsControl {
149    extern_methods!(
150        #[unsafe(method(new))]
151        #[unsafe(method_family = new)]
152        pub unsafe fn new() -> Retained<Self>;
153    );
154}