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}