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")]
28extern_conformance!(
29    unsafe impl NSObjectProtocol for HMCameraProfile {}
30);
31
32#[cfg(feature = "HMAccessoryProfile")]
33impl HMCameraProfile {
34    extern_methods!(
35        #[unsafe(method(init))]
36        #[unsafe(method_family = init)]
37        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
38
39        #[cfg(all(feature = "HMCameraControl", feature = "HMCameraStreamControl"))]
40        /// Object that can be used to control the camera stream.
41        #[unsafe(method(streamControl))]
42        #[unsafe(method_family = none)]
43        pub unsafe fn streamControl(&self) -> Option<Retained<HMCameraStreamControl>>;
44
45        #[cfg(all(feature = "HMCameraControl", feature = "HMCameraSnapshotControl"))]
46        /// Object that can be used to take image snapshots from the camera.
47        #[unsafe(method(snapshotControl))]
48        #[unsafe(method_family = none)]
49        pub unsafe fn snapshotControl(&self) -> Option<Retained<HMCameraSnapshotControl>>;
50
51        #[cfg(all(feature = "HMCameraControl", feature = "HMCameraSettingsControl"))]
52        /// Object that can be used to control the settings on the camera.
53        #[unsafe(method(settingsControl))]
54        #[unsafe(method_family = none)]
55        pub unsafe fn settingsControl(&self) -> Option<Retained<HMCameraSettingsControl>>;
56
57        #[cfg(all(feature = "HMCameraAudioControl", feature = "HMCameraControl"))]
58        /// Object that can be used to control the speaker settings on the camera.
59        #[unsafe(method(speakerControl))]
60        #[unsafe(method_family = none)]
61        pub unsafe fn speakerControl(&self) -> Option<Retained<HMCameraAudioControl>>;
62
63        #[cfg(all(feature = "HMCameraAudioControl", feature = "HMCameraControl"))]
64        /// Object that can be used to control the microphone settings on the camera.
65        #[unsafe(method(microphoneControl))]
66        #[unsafe(method_family = none)]
67        pub unsafe fn microphoneControl(&self) -> Option<Retained<HMCameraAudioControl>>;
68    );
69}
70
71/// Methods declared on superclass `NSObject`.
72#[cfg(feature = "HMAccessoryProfile")]
73impl HMCameraProfile {
74    extern_methods!(
75        #[unsafe(method(new))]
76        #[unsafe(method_family = new)]
77        pub unsafe fn new() -> Retained<Self>;
78    );
79}