objc2_home_kit/generated/
HMCameraStream.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_class!(
11    /// Represents a camera stream.
12    ///
13    /// See also [Apple's documentation](https://developer.apple.com/documentation/homekit/hmcamerastream?language=objc)
14    #[unsafe(super(HMCameraSource, NSObject))]
15    #[derive(Debug, PartialEq, Eq, Hash)]
16    #[cfg(feature = "HMCameraSource")]
17    pub struct HMCameraStream;
18);
19
20#[cfg(feature = "HMCameraSource")]
21unsafe impl Send for HMCameraStream {}
22
23#[cfg(feature = "HMCameraSource")]
24unsafe impl Sync for HMCameraStream {}
25
26#[cfg(feature = "HMCameraSource")]
27extern_conformance!(
28    unsafe impl NSObjectProtocol for HMCameraStream {}
29);
30
31#[cfg(feature = "HMCameraSource")]
32impl HMCameraStream {
33    extern_methods!(
34        #[cfg(feature = "HMCameraDefines")]
35        /// Represents the audio setting for the current stream.
36        #[unsafe(method(audioStreamSetting))]
37        #[unsafe(method_family = none)]
38        pub unsafe fn audioStreamSetting(&self) -> HMCameraAudioStreamSetting;
39
40        #[cfg(feature = "HMCameraDefines")]
41        /// Sets the audio stream setting.
42        ///
43        ///
44        /// Parameter `audioStreamSetting`: New audio stream setting.
45        #[deprecated]
46        #[unsafe(method(setAudioStreamSetting:))]
47        #[unsafe(method_family = none)]
48        pub unsafe fn setAudioStreamSetting(
49            &self,
50            audio_stream_setting: HMCameraAudioStreamSetting,
51        );
52
53        #[cfg(all(feature = "HMCameraDefines", feature = "block2"))]
54        /// Updates the settings of the audio stream.
55        ///
56        ///
57        /// Parameter `audioStreamSetting`: New audio stream setting. Bidirectional audio is not allowed on TVOS.
58        ///
59        ///
60        /// Parameter `completion`: Block that is invoked once the request is processed.
61        /// The NSError provides more information on the status of the request, error
62        /// will be nil on success.
63        #[unsafe(method(updateAudioStreamSetting:completionHandler:))]
64        #[unsafe(method_family = none)]
65        pub unsafe fn updateAudioStreamSetting_completionHandler(
66            &self,
67            audio_stream_setting: HMCameraAudioStreamSetting,
68            completion: &block2::DynBlock<dyn Fn(*mut NSError)>,
69        );
70
71        #[deprecated = "HMCameraStream objects are created by their parent container objects. Directly creating them is not supported."]
72        #[unsafe(method(init))]
73        #[unsafe(method_family = init)]
74        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
75    );
76}
77
78/// Methods declared on superclass `NSObject`.
79#[cfg(feature = "HMCameraSource")]
80impl HMCameraStream {
81    extern_methods!(
82        #[unsafe(method(new))]
83        #[unsafe(method_family = new)]
84        pub unsafe fn new() -> Retained<Self>;
85    );
86}