objc2_home_kit/generated/
HMCameraAudioControl.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    /// [Apple's documentation](https://developer.apple.com/documentation/homekit/hmcameraaudiocontrol?language=objc)
10    #[unsafe(super(HMCameraControl, NSObject))]
11    #[derive(Debug, PartialEq, Eq, Hash)]
12    #[cfg(feature = "HMCameraControl")]
13    pub struct HMCameraAudioControl;
14);
15
16#[cfg(feature = "HMCameraControl")]
17unsafe impl Send for HMCameraAudioControl {}
18
19#[cfg(feature = "HMCameraControl")]
20unsafe impl Sync for HMCameraAudioControl {}
21
22#[cfg(feature = "HMCameraControl")]
23extern_conformance!(
24    unsafe impl NSObjectProtocol for HMCameraAudioControl {}
25);
26
27#[cfg(feature = "HMCameraControl")]
28impl HMCameraAudioControl {
29    extern_methods!(
30        #[unsafe(method(init))]
31        #[unsafe(method_family = init)]
32        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
33
34        #[cfg(feature = "HMCharacteristic")]
35        /// Characteristic corresponding to mute setting on the camera.
36        #[unsafe(method(mute))]
37        #[unsafe(method_family = none)]
38        pub unsafe fn mute(&self) -> Option<Retained<HMCharacteristic>>;
39
40        #[cfg(feature = "HMCharacteristic")]
41        /// Characteristic corresponding to volume setting on the camera.
42        #[unsafe(method(volume))]
43        #[unsafe(method_family = none)]
44        pub unsafe fn volume(&self) -> Option<Retained<HMCharacteristic>>;
45    );
46}
47
48/// Methods declared on superclass `NSObject`.
49#[cfg(feature = "HMCameraControl")]
50impl HMCameraAudioControl {
51    extern_methods!(
52        #[unsafe(method(new))]
53        #[unsafe(method_family = new)]
54        pub unsafe fn new() -> Retained<Self>;
55    );
56}