objc2_home_kit/generated/
HMCameraDefines.rs

1//! This file has been automatically generated by `objc2`'s `header-translator`.
2//! DO NOT EDIT
3use objc2::__framework_prelude::*;
4
5use crate::*;
6
7/// This enumeration describes the different states of a camera stream.
8///
9/// See also [Apple's documentation](https://developer.apple.com/documentation/homekit/hmcamerastreamstate?language=objc)
10// NS_ENUM
11#[repr(transparent)]
12#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
13pub struct HMCameraStreamState(pub NSUInteger);
14impl HMCameraStreamState {
15    /// Start stream request is in progress.
16    #[doc(alias = "HMCameraStreamStateStarting")]
17    pub const Starting: Self = Self(1);
18    /// Streaming is in progress.
19    #[doc(alias = "HMCameraStreamStateStreaming")]
20    pub const Streaming: Self = Self(2);
21    /// Stop stream request is in progress.
22    #[doc(alias = "HMCameraStreamStateStopping")]
23    pub const Stopping: Self = Self(3);
24    /// No streaming is in progress.
25    #[doc(alias = "HMCameraStreamStateNotStreaming")]
26    pub const NotStreaming: Self = Self(4);
27}
28
29unsafe impl Encode for HMCameraStreamState {
30    const ENCODING: Encoding = NSUInteger::ENCODING;
31}
32
33unsafe impl RefEncode for HMCameraStreamState {
34    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
35}
36
37/// This enumeration describes the setting for audio on the recipient of the camera stream.
38///
39/// See also [Apple's documentation](https://developer.apple.com/documentation/homekit/hmcameraaudiostreamsetting?language=objc)
40// NS_ENUM
41#[repr(transparent)]
42#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
43pub struct HMCameraAudioStreamSetting(pub NSUInteger);
44impl HMCameraAudioStreamSetting {
45    /// Muted for incoming and outgoing audio.
46    #[doc(alias = "HMCameraAudioStreamSettingMuted")]
47    pub const Muted: Self = Self(1);
48    /// Only incoming audio is allowed.
49    #[doc(alias = "HMCameraAudioStreamSettingIncomingAudioAllowed")]
50    pub const IncomingAudioAllowed: Self = Self(2);
51    /// Bidirectional audio is allowed.
52    #[doc(alias = "HMCameraAudioStreamSettingBidirectionalAudioAllowed")]
53    pub const BidirectionalAudioAllowed: Self = Self(3);
54}
55
56unsafe impl Encode for HMCameraAudioStreamSetting {
57    const ENCODING: Encoding = NSUInteger::ENCODING;
58}
59
60unsafe impl RefEncode for HMCameraAudioStreamSetting {
61    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
62}