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