objc2_home_kit/generated/
HMCameraProfile.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    /// Represents a camera profile the accessory implements.
10    ///
11    ///
12    /// Provides an interface to interact with a Camera in an Accessory.
13    ///
14    /// See also [Apple's documentation](https://developer.apple.com/documentation/homekit/hmcameraprofile?language=objc)
15    #[unsafe(super(HMAccessoryProfile, NSObject))]
16    #[derive(Debug, PartialEq, Eq, Hash)]
17    #[cfg(feature = "HMAccessoryProfile")]
18    pub struct HMCameraProfile;
19);
20
21#[cfg(feature = "HMAccessoryProfile")]
22unsafe impl Send for HMCameraProfile {}
23
24#[cfg(feature = "HMAccessoryProfile")]
25unsafe impl Sync for HMCameraProfile {}
26
27#[cfg(feature = "HMAccessoryProfile")]
28unsafe impl NSObjectProtocol for HMCameraProfile {}
29
30#[cfg(feature = "HMAccessoryProfile")]
31impl HMCameraProfile {
32    extern_methods!(
33        #[unsafe(method(init))]
34        #[unsafe(method_family = init)]
35        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
36
37        #[cfg(all(feature = "HMCameraControl", feature = "HMCameraStreamControl"))]
38        /// Object that can be used to control the camera stream.
39        #[unsafe(method(streamControl))]
40        #[unsafe(method_family = none)]
41        pub unsafe fn streamControl(&self) -> Option<Retained<HMCameraStreamControl>>;
42
43        #[cfg(all(feature = "HMCameraControl", feature = "HMCameraSnapshotControl"))]
44        /// Object that can be used to take image snapshots from the camera.
45        #[unsafe(method(snapshotControl))]
46        #[unsafe(method_family = none)]
47        pub unsafe fn snapshotControl(&self) -> Option<Retained<HMCameraSnapshotControl>>;
48
49        #[cfg(all(feature = "HMCameraControl", feature = "HMCameraSettingsControl"))]
50        /// Object that can be used to control the settings on the camera.
51        #[unsafe(method(settingsControl))]
52        #[unsafe(method_family = none)]
53        pub unsafe fn settingsControl(&self) -> Option<Retained<HMCameraSettingsControl>>;
54
55        #[cfg(all(feature = "HMCameraAudioControl", feature = "HMCameraControl"))]
56        /// Object that can be used to control the speaker settings on the camera.
57        #[unsafe(method(speakerControl))]
58        #[unsafe(method_family = none)]
59        pub unsafe fn speakerControl(&self) -> Option<Retained<HMCameraAudioControl>>;
60
61        #[cfg(all(feature = "HMCameraAudioControl", feature = "HMCameraControl"))]
62        /// Object that can be used to control the microphone settings on the camera.
63        #[unsafe(method(microphoneControl))]
64        #[unsafe(method_family = none)]
65        pub unsafe fn microphoneControl(&self) -> Option<Retained<HMCameraAudioControl>>;
66    );
67}
68
69/// Methods declared on superclass `NSObject`.
70#[cfg(feature = "HMAccessoryProfile")]
71impl HMCameraProfile {
72    extern_methods!(
73        #[unsafe(method(new))]
74        #[unsafe(method_family = new)]
75        pub unsafe fn new() -> Retained<Self>;
76    );
77}