objc2_home_kit/generated/
HMCharacteristicDefines.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/// [Apple's documentation](https://developer.apple.com/documentation/homekit/hmcharacteristicvaluelockmechanismlastknownaction?language=objc)
8// NS_ENUM
9#[repr(transparent)]
10#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
11pub struct HMCharacteristicValueLockMechanismLastKnownAction(pub NSInteger);
12impl HMCharacteristicValueLockMechanismLastKnownAction {
13    #[doc(
14        alias = "HMCharacteristicValueLockMechanismLastKnownActionSecuredUsingPhysicalMovementInterior"
15    )]
16    pub const SecuredUsingPhysicalMovementInterior: Self = Self(0);
17    #[doc(
18        alias = "HMCharacteristicValueLockMechanismLastKnownActionUnsecuredUsingPhysicalMovementInterior"
19    )]
20    pub const UnsecuredUsingPhysicalMovementInterior: Self = Self(1);
21    #[doc(
22        alias = "HMCharacteristicValueLockMechanismLastKnownActionSecuredUsingPhysicalMovementExterior"
23    )]
24    pub const SecuredUsingPhysicalMovementExterior: Self = Self(2);
25    #[doc(
26        alias = "HMCharacteristicValueLockMechanismLastKnownActionUnsecuredUsingPhysicalMovementExterior"
27    )]
28    pub const UnsecuredUsingPhysicalMovementExterior: Self = Self(3);
29    #[doc(alias = "HMCharacteristicValueLockMechanismLastKnownActionSecuredWithKeypad")]
30    pub const SecuredWithKeypad: Self = Self(4);
31    #[doc(alias = "HMCharacteristicValueLockMechanismLastKnownActionUnsecuredWithKeypad")]
32    pub const UnsecuredWithKeypad: Self = Self(5);
33    #[doc(alias = "HMCharacteristicValueLockMechanismLastKnownActionSecuredRemotely")]
34    pub const SecuredRemotely: Self = Self(6);
35    #[doc(alias = "HMCharacteristicValueLockMechanismLastKnownActionUnsecuredRemotely")]
36    pub const UnsecuredRemotely: Self = Self(7);
37    #[doc(
38        alias = "HMCharacteristicValueLockMechanismLastKnownActionSecuredWithAutomaticSecureTimeout"
39    )]
40    pub const SecuredWithAutomaticSecureTimeout: Self = Self(8);
41    #[doc(alias = "HMCharacteristicValueLockMechanismLastKnownActionSecuredUsingPhysicalMovement")]
42    pub const SecuredUsingPhysicalMovement: Self = Self(9);
43    #[doc(
44        alias = "HMCharacteristicValueLockMechanismLastKnownActionUnsecuredUsingPhysicalMovement"
45    )]
46    pub const UnsecuredUsingPhysicalMovement: Self = Self(10);
47}
48
49unsafe impl Encode for HMCharacteristicValueLockMechanismLastKnownAction {
50    const ENCODING: Encoding = NSInteger::ENCODING;
51}
52
53unsafe impl RefEncode for HMCharacteristicValueLockMechanismLastKnownAction {
54    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
55}
56
57/// [Apple's documentation](https://developer.apple.com/documentation/homekit/hmcharacteristicvalueairparticulatesize?language=objc)
58// NS_ENUM
59#[repr(transparent)]
60#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
61pub struct HMCharacteristicValueAirParticulateSize(pub NSInteger);
62impl HMCharacteristicValueAirParticulateSize {
63    #[doc(alias = "HMCharacteristicValueAirParticulateSize2_5")]
64    pub const Size2_5: Self = Self(0);
65    #[doc(alias = "HMCharacteristicValueAirParticulateSize10")]
66    pub const Size10: Self = Self(1);
67}
68
69unsafe impl Encode for HMCharacteristicValueAirParticulateSize {
70    const ENCODING: Encoding = NSInteger::ENCODING;
71}
72
73unsafe impl RefEncode for HMCharacteristicValueAirParticulateSize {
74    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
75}
76
77/// [Apple's documentation](https://developer.apple.com/documentation/homekit/hmcharacteristicvalueairquality?language=objc)
78// NS_ENUM
79#[repr(transparent)]
80#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
81pub struct HMCharacteristicValueAirQuality(pub NSInteger);
82impl HMCharacteristicValueAirQuality {
83    #[doc(alias = "HMCharacteristicValueAirQualityUnknown")]
84    pub const Unknown: Self = Self(0);
85    #[doc(alias = "HMCharacteristicValueAirQualityExcellent")]
86    pub const Excellent: Self = Self(1);
87    #[doc(alias = "HMCharacteristicValueAirQualityGood")]
88    pub const Good: Self = Self(2);
89    #[doc(alias = "HMCharacteristicValueAirQualityFair")]
90    pub const Fair: Self = Self(3);
91    #[doc(alias = "HMCharacteristicValueAirQualityInferior")]
92    pub const Inferior: Self = Self(4);
93    #[doc(alias = "HMCharacteristicValueAirQualityPoor")]
94    pub const Poor: Self = Self(5);
95}
96
97unsafe impl Encode for HMCharacteristicValueAirQuality {
98    const ENCODING: Encoding = NSInteger::ENCODING;
99}
100
101unsafe impl RefEncode for HMCharacteristicValueAirQuality {
102    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
103}
104
105/// [Apple's documentation](https://developer.apple.com/documentation/homekit/hmcharacteristicvaluepositionstate?language=objc)
106// NS_ENUM
107#[repr(transparent)]
108#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
109pub struct HMCharacteristicValuePositionState(pub NSInteger);
110impl HMCharacteristicValuePositionState {
111    #[doc(alias = "HMCharacteristicValuePositionStateClosing")]
112    pub const Closing: Self = Self(0);
113    #[doc(alias = "HMCharacteristicValuePositionStateOpening")]
114    pub const Opening: Self = Self(1);
115    #[doc(alias = "HMCharacteristicValuePositionStateStopped")]
116    pub const Stopped: Self = Self(2);
117}
118
119unsafe impl Encode for HMCharacteristicValuePositionState {
120    const ENCODING: Encoding = NSInteger::ENCODING;
121}
122
123unsafe impl RefEncode for HMCharacteristicValuePositionState {
124    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
125}
126
127/// [Apple's documentation](https://developer.apple.com/documentation/homekit/hmcharacteristicvaluecurrentsecuritysystemstate?language=objc)
128// NS_ENUM
129#[repr(transparent)]
130#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
131pub struct HMCharacteristicValueCurrentSecuritySystemState(pub NSInteger);
132impl HMCharacteristicValueCurrentSecuritySystemState {
133    #[doc(alias = "HMCharacteristicValueCurrentSecuritySystemStateStayArm")]
134    pub const StayArm: Self = Self(0);
135    #[doc(alias = "HMCharacteristicValueCurrentSecuritySystemStateAwayArm")]
136    pub const AwayArm: Self = Self(1);
137    #[doc(alias = "HMCharacteristicValueCurrentSecuritySystemStateNightArm")]
138    pub const NightArm: Self = Self(2);
139    #[doc(alias = "HMCharacteristicValueCurrentSecuritySystemStateDisarmed")]
140    pub const Disarmed: Self = Self(3);
141    #[doc(alias = "HMCharacteristicValueCurrentSecuritySystemStateTriggered")]
142    pub const Triggered: Self = Self(4);
143}
144
145unsafe impl Encode for HMCharacteristicValueCurrentSecuritySystemState {
146    const ENCODING: Encoding = NSInteger::ENCODING;
147}
148
149unsafe impl RefEncode for HMCharacteristicValueCurrentSecuritySystemState {
150    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
151}
152
153/// [Apple's documentation](https://developer.apple.com/documentation/homekit/hmcharacteristicvaluetargetsecuritysystemstate?language=objc)
154// NS_ENUM
155#[repr(transparent)]
156#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
157pub struct HMCharacteristicValueTargetSecuritySystemState(pub NSInteger);
158impl HMCharacteristicValueTargetSecuritySystemState {
159    #[doc(alias = "HMCharacteristicValueTargetSecuritySystemStateStayArm")]
160    pub const StayArm: Self = Self(0);
161    #[doc(alias = "HMCharacteristicValueTargetSecuritySystemStateAwayArm")]
162    pub const AwayArm: Self = Self(1);
163    #[doc(alias = "HMCharacteristicValueTargetSecuritySystemStateNightArm")]
164    pub const NightArm: Self = Self(2);
165    #[doc(alias = "HMCharacteristicValueTargetSecuritySystemStateDisarm")]
166    pub const Disarm: Self = Self(3);
167}
168
169unsafe impl Encode for HMCharacteristicValueTargetSecuritySystemState {
170    const ENCODING: Encoding = NSInteger::ENCODING;
171}
172
173unsafe impl RefEncode for HMCharacteristicValueTargetSecuritySystemState {
174    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
175}
176
177/// [Apple's documentation](https://developer.apple.com/documentation/homekit/hmcharacteristicvaluejammedstatus?language=objc)
178// NS_ENUM
179#[repr(transparent)]
180#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
181pub struct HMCharacteristicValueJammedStatus(pub NSInteger);
182impl HMCharacteristicValueJammedStatus {
183    #[doc(alias = "HMCharacteristicValueJammedStatusNone")]
184    pub const None: Self = Self(0);
185    #[doc(alias = "HMCharacteristicValueJammedStatusJammed")]
186    pub const Jammed: Self = Self(1);
187}
188
189unsafe impl Encode for HMCharacteristicValueJammedStatus {
190    const ENCODING: Encoding = NSInteger::ENCODING;
191}
192
193unsafe impl RefEncode for HMCharacteristicValueJammedStatus {
194    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
195}
196
197/// [Apple's documentation](https://developer.apple.com/documentation/homekit/hmcharacteristicvaluetamperedstatus?language=objc)
198// NS_ENUM
199#[repr(transparent)]
200#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
201pub struct HMCharacteristicValueTamperedStatus(pub NSInteger);
202impl HMCharacteristicValueTamperedStatus {
203    #[doc(alias = "HMCharacteristicValueTamperedStatusNone")]
204    pub const None: Self = Self(0);
205    #[doc(alias = "HMCharacteristicValueTamperedStatusTampered")]
206    pub const Tampered: Self = Self(1);
207}
208
209unsafe impl Encode for HMCharacteristicValueTamperedStatus {
210    const ENCODING: Encoding = NSInteger::ENCODING;
211}
212
213unsafe impl RefEncode for HMCharacteristicValueTamperedStatus {
214    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
215}
216
217/// [Apple's documentation](https://developer.apple.com/documentation/homekit/hmcharacteristicvalueleakstatus?language=objc)
218// NS_ENUM
219#[repr(transparent)]
220#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
221pub struct HMCharacteristicValueLeakStatus(pub NSInteger);
222impl HMCharacteristicValueLeakStatus {
223    #[doc(alias = "HMCharacteristicValueLeakStatusNone")]
224    pub const None: Self = Self(0);
225    #[doc(alias = "HMCharacteristicValueLeakStatusDetected")]
226    pub const Detected: Self = Self(1);
227}
228
229unsafe impl Encode for HMCharacteristicValueLeakStatus {
230    const ENCODING: Encoding = NSInteger::ENCODING;
231}
232
233unsafe impl RefEncode for HMCharacteristicValueLeakStatus {
234    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
235}
236
237/// [Apple's documentation](https://developer.apple.com/documentation/homekit/hmcharacteristicvaluecontactstate?language=objc)
238// NS_ENUM
239#[repr(transparent)]
240#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
241pub struct HMCharacteristicValueContactState(pub NSInteger);
242impl HMCharacteristicValueContactState {
243    #[doc(alias = "HMCharacteristicValueContactStateDetected")]
244    pub const Detected: Self = Self(0);
245    #[doc(alias = "HMCharacteristicValueContactStateNone")]
246    pub const None: Self = Self(1);
247}
248
249unsafe impl Encode for HMCharacteristicValueContactState {
250    const ENCODING: Encoding = NSInteger::ENCODING;
251}
252
253unsafe impl RefEncode for HMCharacteristicValueContactState {
254    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
255}
256
257/// [Apple's documentation](https://developer.apple.com/documentation/homekit/hmcharacteristicvaluestatusfault?language=objc)
258// NS_ENUM
259#[repr(transparent)]
260#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
261pub struct HMCharacteristicValueStatusFault(pub NSInteger);
262impl HMCharacteristicValueStatusFault {
263    #[doc(alias = "HMCharacteristicValueStatusFaultNoFault")]
264    pub const NoFault: Self = Self(0);
265    #[doc(alias = "HMCharacteristicValueStatusFaultGeneralFault")]
266    pub const GeneralFault: Self = Self(1);
267}
268
269unsafe impl Encode for HMCharacteristicValueStatusFault {
270    const ENCODING: Encoding = NSInteger::ENCODING;
271}
272
273unsafe impl RefEncode for HMCharacteristicValueStatusFault {
274    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
275}
276
277/// [Apple's documentation](https://developer.apple.com/documentation/homekit/hmcharacteristicvaluecarbonmonoxidedetectionstatus?language=objc)
278// NS_ENUM
279#[repr(transparent)]
280#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
281pub struct HMCharacteristicValueCarbonMonoxideDetectionStatus(pub NSInteger);
282impl HMCharacteristicValueCarbonMonoxideDetectionStatus {
283    #[doc(alias = "HMCharacteristicValueCarbonMonoxideDetectionStatusNotDetected")]
284    pub const NotDetected: Self = Self(0);
285    #[doc(alias = "HMCharacteristicValueCarbonMonoxideDetectionStatusDetected")]
286    pub const Detected: Self = Self(1);
287}
288
289unsafe impl Encode for HMCharacteristicValueCarbonMonoxideDetectionStatus {
290    const ENCODING: Encoding = NSInteger::ENCODING;
291}
292
293unsafe impl RefEncode for HMCharacteristicValueCarbonMonoxideDetectionStatus {
294    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
295}
296
297/// [Apple's documentation](https://developer.apple.com/documentation/homekit/hmcharacteristicvaluecarbondioxidedetectionstatus?language=objc)
298// NS_ENUM
299#[repr(transparent)]
300#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
301pub struct HMCharacteristicValueCarbonDioxideDetectionStatus(pub NSInteger);
302impl HMCharacteristicValueCarbonDioxideDetectionStatus {
303    #[doc(alias = "HMCharacteristicValueCarbonDioxideDetectionStatusNotDetected")]
304    pub const NotDetected: Self = Self(0);
305    #[doc(alias = "HMCharacteristicValueCarbonDioxideDetectionStatusDetected")]
306    pub const Detected: Self = Self(1);
307}
308
309unsafe impl Encode for HMCharacteristicValueCarbonDioxideDetectionStatus {
310    const ENCODING: Encoding = NSInteger::ENCODING;
311}
312
313unsafe impl RefEncode for HMCharacteristicValueCarbonDioxideDetectionStatus {
314    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
315}
316
317/// [Apple's documentation](https://developer.apple.com/documentation/homekit/hmcharacteristicvalueoccupancystatus?language=objc)
318// NS_ENUM
319#[repr(transparent)]
320#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
321pub struct HMCharacteristicValueOccupancyStatus(pub NSInteger);
322impl HMCharacteristicValueOccupancyStatus {
323    #[doc(alias = "HMCharacteristicValueOccupancyStatusNotOccupied")]
324    pub const NotOccupied: Self = Self(0);
325    #[doc(alias = "HMCharacteristicValueOccupancyStatusOccupied")]
326    pub const Occupied: Self = Self(1);
327}
328
329unsafe impl Encode for HMCharacteristicValueOccupancyStatus {
330    const ENCODING: Encoding = NSInteger::ENCODING;
331}
332
333unsafe impl RefEncode for HMCharacteristicValueOccupancyStatus {
334    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
335}
336
337/// [Apple's documentation](https://developer.apple.com/documentation/homekit/hmcharacteristicvaluesecuritysystemalarmtype?language=objc)
338// NS_ENUM
339#[repr(transparent)]
340#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
341pub struct HMCharacteristicValueSecuritySystemAlarmType(pub NSInteger);
342impl HMCharacteristicValueSecuritySystemAlarmType {
343    #[doc(alias = "HMCharacteristicValueSecuritySystemAlarmTypeNoAlarm")]
344    pub const NoAlarm: Self = Self(0);
345    #[doc(alias = "HMCharacteristicValueSecuritySystemAlarmTypeUnknown")]
346    pub const Unknown: Self = Self(1);
347}
348
349unsafe impl Encode for HMCharacteristicValueSecuritySystemAlarmType {
350    const ENCODING: Encoding = NSInteger::ENCODING;
351}
352
353unsafe impl RefEncode for HMCharacteristicValueSecuritySystemAlarmType {
354    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
355}
356
357/// [Apple's documentation](https://developer.apple.com/documentation/homekit/hmcharacteristicvaluecurrentairpurifierstate?language=objc)
358// NS_ENUM
359#[repr(transparent)]
360#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
361pub struct HMCharacteristicValueCurrentAirPurifierState(pub NSInteger);
362impl HMCharacteristicValueCurrentAirPurifierState {
363    #[doc(alias = "HMCharacteristicValueCurrentAirPurifierStateInactive")]
364    pub const Inactive: Self = Self(0);
365    #[doc(alias = "HMCharacteristicValueCurrentAirPurifierStateIdle")]
366    pub const Idle: Self = Self(1);
367    #[doc(alias = "HMCharacteristicValueCurrentAirPurifierStateActive")]
368    pub const Active: Self = Self(2);
369}
370
371unsafe impl Encode for HMCharacteristicValueCurrentAirPurifierState {
372    const ENCODING: Encoding = NSInteger::ENCODING;
373}
374
375unsafe impl RefEncode for HMCharacteristicValueCurrentAirPurifierState {
376    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
377}
378
379/// [Apple's documentation](https://developer.apple.com/documentation/homekit/hmcharacteristicvaluetargetairpurifierstate?language=objc)
380// NS_ENUM
381#[repr(transparent)]
382#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
383pub struct HMCharacteristicValueTargetAirPurifierState(pub NSInteger);
384impl HMCharacteristicValueTargetAirPurifierState {
385    #[doc(alias = "HMCharacteristicValueTargetAirPurifierStateManual")]
386    pub const Manual: Self = Self(0);
387    #[doc(alias = "HMCharacteristicValueTargetAirPurifierStateAutomatic")]
388    pub const Automatic: Self = Self(1);
389}
390
391unsafe impl Encode for HMCharacteristicValueTargetAirPurifierState {
392    const ENCODING: Encoding = NSInteger::ENCODING;
393}
394
395unsafe impl RefEncode for HMCharacteristicValueTargetAirPurifierState {
396    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
397}
398
399/// [Apple's documentation](https://developer.apple.com/documentation/homekit/hmcharacteristicvaluecurrentslatstate?language=objc)
400// NS_ENUM
401#[repr(transparent)]
402#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
403pub struct HMCharacteristicValueCurrentSlatState(pub NSInteger);
404impl HMCharacteristicValueCurrentSlatState {
405    #[doc(alias = "HMCharacteristicValueCurrentSlatStateStationary")]
406    pub const Stationary: Self = Self(0);
407    #[doc(alias = "HMCharacteristicValueCurrentSlatStateJammed")]
408    pub const Jammed: Self = Self(1);
409    #[doc(alias = "HMCharacteristicValueCurrentSlatStateOscillating")]
410    pub const Oscillating: Self = Self(2);
411}
412
413unsafe impl Encode for HMCharacteristicValueCurrentSlatState {
414    const ENCODING: Encoding = NSInteger::ENCODING;
415}
416
417unsafe impl RefEncode for HMCharacteristicValueCurrentSlatState {
418    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
419}
420
421/// [Apple's documentation](https://developer.apple.com/documentation/homekit/hmcharacteristicvalueslattype?language=objc)
422// NS_ENUM
423#[repr(transparent)]
424#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
425pub struct HMCharacteristicValueSlatType(pub NSInteger);
426impl HMCharacteristicValueSlatType {
427    #[doc(alias = "HMCharacteristicValueSlatTypeHorizontal")]
428    pub const Horizontal: Self = Self(0);
429    #[doc(alias = "HMCharacteristicValueSlatTypeVertical")]
430    pub const Vertical: Self = Self(1);
431}
432
433unsafe impl Encode for HMCharacteristicValueSlatType {
434    const ENCODING: Encoding = NSInteger::ENCODING;
435}
436
437unsafe impl RefEncode for HMCharacteristicValueSlatType {
438    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
439}
440
441/// [Apple's documentation](https://developer.apple.com/documentation/homekit/hmcharacteristicvaluefilterchange?language=objc)
442// NS_ENUM
443#[repr(transparent)]
444#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
445pub struct HMCharacteristicValueFilterChange(pub NSInteger);
446impl HMCharacteristicValueFilterChange {
447    #[doc(alias = "HMCharacteristicValueFilterChangeNotNeeded")]
448    pub const NotNeeded: Self = Self(0);
449    #[doc(alias = "HMCharacteristicValueFilterChangeNeeded")]
450    pub const Needed: Self = Self(1);
451}
452
453unsafe impl Encode for HMCharacteristicValueFilterChange {
454    const ENCODING: Encoding = NSInteger::ENCODING;
455}
456
457unsafe impl RefEncode for HMCharacteristicValueFilterChange {
458    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
459}
460
461/// [Apple's documentation](https://developer.apple.com/documentation/homekit/hmcharacteristicvaluelabelnamespace?language=objc)
462// NS_ENUM
463#[repr(transparent)]
464#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
465pub struct HMCharacteristicValueLabelNamespace(pub NSInteger);
466impl HMCharacteristicValueLabelNamespace {
467    #[doc(alias = "HMCharacteristicValueLabelNamespaceDot")]
468    pub const Dot: Self = Self(0);
469    #[doc(alias = "HMCharacteristicValueLabelNamespaceNumeral")]
470    pub const Numeral: Self = Self(1);
471}
472
473unsafe impl Encode for HMCharacteristicValueLabelNamespace {
474    const ENCODING: Encoding = NSInteger::ENCODING;
475}
476
477unsafe impl RefEncode for HMCharacteristicValueLabelNamespace {
478    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
479}
480
481/// [Apple's documentation](https://developer.apple.com/documentation/homekit/hmcharacteristicvalueprogrammode?language=objc)
482// NS_ENUM
483#[repr(transparent)]
484#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
485pub struct HMCharacteristicValueProgramMode(pub NSInteger);
486impl HMCharacteristicValueProgramMode {
487    #[doc(alias = "HMCharacteristicValueProgramModeNotScheduled")]
488    pub const NotScheduled: Self = Self(0);
489    #[doc(alias = "HMCharacteristicValueProgramModeScheduled")]
490    pub const Scheduled: Self = Self(1);
491    #[doc(alias = "HMCharacteristicValueProgramModeScheduleOverriddenToManual")]
492    pub const ScheduleOverriddenToManual: Self = Self(2);
493}
494
495unsafe impl Encode for HMCharacteristicValueProgramMode {
496    const ENCODING: Encoding = NSInteger::ENCODING;
497}
498
499unsafe impl RefEncode for HMCharacteristicValueProgramMode {
500    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
501}
502
503/// [Apple's documentation](https://developer.apple.com/documentation/homekit/hmcharacteristicvalueusagestate?language=objc)
504// NS_ENUM
505#[repr(transparent)]
506#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
507pub struct HMCharacteristicValueUsageState(pub NSInteger);
508impl HMCharacteristicValueUsageState {
509    #[doc(alias = "HMCharacteristicValueUsageStateNotInUse")]
510    pub const NotInUse: Self = Self(0);
511    #[doc(alias = "HMCharacteristicValueUsageStateInUse")]
512    pub const InUse: Self = Self(1);
513}
514
515unsafe impl Encode for HMCharacteristicValueUsageState {
516    const ENCODING: Encoding = NSInteger::ENCODING;
517}
518
519unsafe impl RefEncode for HMCharacteristicValueUsageState {
520    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
521}
522
523/// [Apple's documentation](https://developer.apple.com/documentation/homekit/hmcharacteristicvaluevalvetype?language=objc)
524// NS_ENUM
525#[repr(transparent)]
526#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
527pub struct HMCharacteristicValueValveType(pub NSInteger);
528impl HMCharacteristicValueValveType {
529    #[doc(alias = "HMCharacteristicValueValveTypeGenericValve")]
530    pub const GenericValve: Self = Self(0);
531    #[doc(alias = "HMCharacteristicValueValveTypeIrrigation")]
532    pub const Irrigation: Self = Self(1);
533    #[doc(alias = "HMCharacteristicValueValveTypeShowerHead")]
534    pub const ShowerHead: Self = Self(2);
535    #[doc(alias = "HMCharacteristicValueValveTypeWaterFaucet")]
536    pub const WaterFaucet: Self = Self(3);
537}
538
539unsafe impl Encode for HMCharacteristicValueValveType {
540    const ENCODING: Encoding = NSInteger::ENCODING;
541}
542
543unsafe impl RefEncode for HMCharacteristicValueValveType {
544    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
545}
546
547/// [Apple's documentation](https://developer.apple.com/documentation/homekit/hmcharacteristicvaluevolumecontroltype?language=objc)
548// NS_ENUM
549#[repr(transparent)]
550#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
551pub struct HMCharacteristicValueVolumeControlType(pub NSInteger);
552impl HMCharacteristicValueVolumeControlType {
553    #[doc(alias = "HMCharacteristicValueVolumeControlTypeNone")]
554    pub const None: Self = Self(0);
555    #[doc(alias = "HMCharacteristicValueVolumeControlTypeRelative")]
556    pub const Relative: Self = Self(1);
557    #[doc(alias = "HMCharacteristicValueVolumeControlTypeRelativeWithCurrent")]
558    pub const RelativeWithCurrent: Self = Self(2);
559    #[doc(alias = "HMCharacteristicValueVolumeControlTypeAbsolute")]
560    pub const Absolute: Self = Self(3);
561}
562
563unsafe impl Encode for HMCharacteristicValueVolumeControlType {
564    const ENCODING: Encoding = NSInteger::ENCODING;
565}
566
567unsafe impl RefEncode for HMCharacteristicValueVolumeControlType {
568    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
569}
570
571/// [Apple's documentation](https://developer.apple.com/documentation/homekit/hmcharacteristicvaluevolumeselector?language=objc)
572// NS_ENUM
573#[repr(transparent)]
574#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
575pub struct HMCharacteristicValueVolumeSelector(pub NSInteger);
576impl HMCharacteristicValueVolumeSelector {
577    #[doc(alias = "HMCharacteristicValueVolumeSelectorVolumeIncrement")]
578    pub const VolumeIncrement: Self = Self(0);
579    #[doc(alias = "HMCharacteristicValueVolumeSelectorVolumeDecrement")]
580    pub const VolumeDecrement: Self = Self(1);
581}
582
583unsafe impl Encode for HMCharacteristicValueVolumeSelector {
584    const ENCODING: Encoding = NSInteger::ENCODING;
585}
586
587unsafe impl RefEncode for HMCharacteristicValueVolumeSelector {
588    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
589}
590
591/// [Apple's documentation](https://developer.apple.com/documentation/homekit/hmcharacteristicvaluedoorstate?language=objc)
592// NS_ENUM
593#[repr(transparent)]
594#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
595pub struct HMCharacteristicValueDoorState(pub NSInteger);
596impl HMCharacteristicValueDoorState {
597    #[doc(alias = "HMCharacteristicValueDoorStateOpen")]
598    pub const Open: Self = Self(0);
599    #[doc(alias = "HMCharacteristicValueDoorStateClosed")]
600    pub const Closed: Self = Self(1);
601    #[doc(alias = "HMCharacteristicValueDoorStateOpening")]
602    pub const Opening: Self = Self(2);
603    #[doc(alias = "HMCharacteristicValueDoorStateClosing")]
604    pub const Closing: Self = Self(3);
605    #[doc(alias = "HMCharacteristicValueDoorStateStopped")]
606    pub const Stopped: Self = Self(4);
607}
608
609unsafe impl Encode for HMCharacteristicValueDoorState {
610    const ENCODING: Encoding = NSInteger::ENCODING;
611}
612
613unsafe impl RefEncode for HMCharacteristicValueDoorState {
614    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
615}
616
617/// [Apple's documentation](https://developer.apple.com/documentation/homekit/hmcharacteristicvaluecurrentheatingcooling?language=objc)
618// NS_ENUM
619#[repr(transparent)]
620#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
621pub struct HMCharacteristicValueCurrentHeatingCooling(pub NSInteger);
622impl HMCharacteristicValueCurrentHeatingCooling {
623    #[doc(alias = "HMCharacteristicValueCurrentHeatingCoolingOff")]
624    pub const Off: Self = Self(0);
625    #[doc(alias = "HMCharacteristicValueCurrentHeatingCoolingHeat")]
626    pub const Heat: Self = Self(1);
627    #[doc(alias = "HMCharacteristicValueCurrentHeatingCoolingCool")]
628    pub const Cool: Self = Self(2);
629}
630
631unsafe impl Encode for HMCharacteristicValueCurrentHeatingCooling {
632    const ENCODING: Encoding = NSInteger::ENCODING;
633}
634
635unsafe impl RefEncode for HMCharacteristicValueCurrentHeatingCooling {
636    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
637}
638
639/// [Apple's documentation](https://developer.apple.com/documentation/homekit/hmcharacteristicvaluelockmechanismstate?language=objc)
640// NS_ENUM
641#[repr(transparent)]
642#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
643pub struct HMCharacteristicValueLockMechanismState(pub NSInteger);
644impl HMCharacteristicValueLockMechanismState {
645    #[doc(alias = "HMCharacteristicValueLockMechanismStateUnsecured")]
646    pub const Unsecured: Self = Self(0);
647    #[doc(alias = "HMCharacteristicValueLockMechanismStateSecured")]
648    pub const Secured: Self = Self(1);
649    #[doc(alias = "HMCharacteristicValueLockMechanismStateJammed")]
650    pub const Jammed: Self = Self(2);
651    #[doc(alias = "HMCharacteristicValueLockMechanismStateUnknown")]
652    pub const Unknown: Self = Self(3);
653}
654
655unsafe impl Encode for HMCharacteristicValueLockMechanismState {
656    const ENCODING: Encoding = NSInteger::ENCODING;
657}
658
659unsafe impl RefEncode for HMCharacteristicValueLockMechanismState {
660    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
661}
662
663/// [Apple's documentation](https://developer.apple.com/documentation/homekit/hmcharacteristicvaluetargetlockmechanismstate?language=objc)
664// NS_ENUM
665#[repr(transparent)]
666#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
667pub struct HMCharacteristicValueTargetLockMechanismState(pub NSInteger);
668impl HMCharacteristicValueTargetLockMechanismState {
669    #[doc(alias = "HMCharacteristicValueTargetLockMechanismStateUnsecured")]
670    pub const Unsecured: Self = Self(0);
671    #[doc(alias = "HMCharacteristicValueTargetLockMechanismStateSecured")]
672    pub const Secured: Self = Self(1);
673}
674
675unsafe impl Encode for HMCharacteristicValueTargetLockMechanismState {
676    const ENCODING: Encoding = NSInteger::ENCODING;
677}
678
679unsafe impl RefEncode for HMCharacteristicValueTargetLockMechanismState {
680    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
681}
682
683/// [Apple's documentation](https://developer.apple.com/documentation/homekit/hmcharacteristicvaluerotationdirection?language=objc)
684// NS_ENUM
685#[repr(transparent)]
686#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
687pub struct HMCharacteristicValueRotationDirection(pub NSInteger);
688impl HMCharacteristicValueRotationDirection {
689    #[doc(alias = "HMCharacteristicValueRotationDirectionClockwise")]
690    pub const Clockwise: Self = Self(0);
691    #[doc(alias = "HMCharacteristicValueRotationDirectionCounterClockwise")]
692    pub const CounterClockwise: Self = Self(1);
693}
694
695unsafe impl Encode for HMCharacteristicValueRotationDirection {
696    const ENCODING: Encoding = NSInteger::ENCODING;
697}
698
699unsafe impl RefEncode for HMCharacteristicValueRotationDirection {
700    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
701}
702
703/// [Apple's documentation](https://developer.apple.com/documentation/homekit/hmcharacteristicvaluetargetdoorstate?language=objc)
704// NS_ENUM
705#[repr(transparent)]
706#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
707pub struct HMCharacteristicValueTargetDoorState(pub NSInteger);
708impl HMCharacteristicValueTargetDoorState {
709    #[doc(alias = "HMCharacteristicValueTargetDoorStateOpen")]
710    pub const Open: Self = Self(0);
711    #[doc(alias = "HMCharacteristicValueTargetDoorStateClosed")]
712    pub const Closed: Self = Self(1);
713}
714
715unsafe impl Encode for HMCharacteristicValueTargetDoorState {
716    const ENCODING: Encoding = NSInteger::ENCODING;
717}
718
719unsafe impl RefEncode for HMCharacteristicValueTargetDoorState {
720    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
721}
722
723/// [Apple's documentation](https://developer.apple.com/documentation/homekit/hmcharacteristicvalueheatingcooling?language=objc)
724// NS_ENUM
725#[repr(transparent)]
726#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
727pub struct HMCharacteristicValueHeatingCooling(pub NSInteger);
728impl HMCharacteristicValueHeatingCooling {
729    #[doc(alias = "HMCharacteristicValueHeatingCoolingOff")]
730    pub const Off: Self = Self(0);
731    #[doc(alias = "HMCharacteristicValueHeatingCoolingHeat")]
732    pub const Heat: Self = Self(1);
733    #[doc(alias = "HMCharacteristicValueHeatingCoolingCool")]
734    pub const Cool: Self = Self(2);
735    #[doc(alias = "HMCharacteristicValueHeatingCoolingAuto")]
736    pub const Auto: Self = Self(3);
737}
738
739unsafe impl Encode for HMCharacteristicValueHeatingCooling {
740    const ENCODING: Encoding = NSInteger::ENCODING;
741}
742
743unsafe impl RefEncode for HMCharacteristicValueHeatingCooling {
744    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
745}
746
747/// [Apple's documentation](https://developer.apple.com/documentation/homekit/hmcharacteristicvaluetemperatureunit?language=objc)
748// NS_ENUM
749#[repr(transparent)]
750#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
751pub struct HMCharacteristicValueTemperatureUnit(pub NSInteger);
752impl HMCharacteristicValueTemperatureUnit {
753    #[doc(alias = "HMCharacteristicValueTemperatureUnitCelsius")]
754    pub const Celsius: Self = Self(0);
755    #[doc(alias = "HMCharacteristicValueTemperatureUnitFahrenheit")]
756    pub const Fahrenheit: Self = Self(1);
757}
758
759unsafe impl Encode for HMCharacteristicValueTemperatureUnit {
760    const ENCODING: Encoding = NSInteger::ENCODING;
761}
762
763unsafe impl RefEncode for HMCharacteristicValueTemperatureUnit {
764    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
765}
766
767/// [Apple's documentation](https://developer.apple.com/documentation/homekit/hmcharacteristicvalueinputevent?language=objc)
768// NS_ENUM
769#[repr(transparent)]
770#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
771pub struct HMCharacteristicValueInputEvent(pub NSInteger);
772impl HMCharacteristicValueInputEvent {
773    #[doc(alias = "HMCharacteristicValueInputEventSinglePress")]
774    pub const SinglePress: Self = Self(0);
775    #[doc(alias = "HMCharacteristicValueInputEventDoublePress")]
776    pub const DoublePress: Self = Self(1);
777    #[doc(alias = "HMCharacteristicValueInputEventLongPress")]
778    pub const LongPress: Self = Self(2);
779}
780
781unsafe impl Encode for HMCharacteristicValueInputEvent {
782    const ENCODING: Encoding = NSInteger::ENCODING;
783}
784
785unsafe impl RefEncode for HMCharacteristicValueInputEvent {
786    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
787}
788
789/// [Apple's documentation](https://developer.apple.com/documentation/homekit/hmcharacteristicvaluesmokedetectionstatus?language=objc)
790// NS_ENUM
791#[repr(transparent)]
792#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
793pub struct HMCharacteristicValueSmokeDetectionStatus(pub NSInteger);
794impl HMCharacteristicValueSmokeDetectionStatus {
795    #[doc(alias = "HMCharacteristicValueSmokeDetectionStatusNone")]
796    pub const None: Self = Self(0);
797    #[doc(alias = "HMCharacteristicValueSmokeDetectionStatusDetected")]
798    pub const Detected: Self = Self(1);
799}
800
801unsafe impl Encode for HMCharacteristicValueSmokeDetectionStatus {
802    const ENCODING: Encoding = NSInteger::ENCODING;
803}
804
805unsafe impl RefEncode for HMCharacteristicValueSmokeDetectionStatus {
806    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
807}
808
809/// [Apple's documentation](https://developer.apple.com/documentation/homekit/hmcharacteristicvaluebatterystatus?language=objc)
810// NS_ENUM
811#[repr(transparent)]
812#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
813pub struct HMCharacteristicValueBatteryStatus(pub NSInteger);
814impl HMCharacteristicValueBatteryStatus {
815    #[doc(alias = "HMCharacteristicValueBatteryStatusNormal")]
816    pub const Normal: Self = Self(0);
817    #[doc(alias = "HMCharacteristicValueBatteryStatusLow")]
818    pub const Low: Self = Self(1);
819}
820
821unsafe impl Encode for HMCharacteristicValueBatteryStatus {
822    const ENCODING: Encoding = NSInteger::ENCODING;
823}
824
825unsafe impl RefEncode for HMCharacteristicValueBatteryStatus {
826    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
827}
828
829/// [Apple's documentation](https://developer.apple.com/documentation/homekit/hmcharacteristicvaluechargingstate?language=objc)
830// NS_ENUM
831#[repr(transparent)]
832#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
833pub struct HMCharacteristicValueChargingState(pub NSInteger);
834impl HMCharacteristicValueChargingState {
835    #[doc(alias = "HMCharacteristicValueChargingStateNone")]
836    pub const None: Self = Self(0);
837    #[doc(alias = "HMCharacteristicValueChargingStateInProgress")]
838    pub const InProgress: Self = Self(1);
839    #[doc(alias = "HMCharacteristicValueChargingStateNotChargeable")]
840    pub const NotChargeable: Self = Self(2);
841}
842
843unsafe impl Encode for HMCharacteristicValueChargingState {
844    const ENCODING: Encoding = NSInteger::ENCODING;
845}
846
847unsafe impl RefEncode for HMCharacteristicValueChargingState {
848    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
849}
850
851/// [Apple's documentation](https://developer.apple.com/documentation/homekit/hmcharacteristicvaluelockphysicalcontrolsstate?language=objc)
852// NS_ENUM
853#[repr(transparent)]
854#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
855pub struct HMCharacteristicValueLockPhysicalControlsState(pub NSInteger);
856impl HMCharacteristicValueLockPhysicalControlsState {
857    #[doc(alias = "HMCharacteristicValueLockPhysicalControlsStateNotLocked")]
858    pub const NotLocked: Self = Self(0);
859    #[doc(alias = "HMCharacteristicValueLockPhysicalControlsStateLocked")]
860    pub const Locked: Self = Self(1);
861}
862
863unsafe impl Encode for HMCharacteristicValueLockPhysicalControlsState {
864    const ENCODING: Encoding = NSInteger::ENCODING;
865}
866
867unsafe impl RefEncode for HMCharacteristicValueLockPhysicalControlsState {
868    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
869}
870
871/// [Apple's documentation](https://developer.apple.com/documentation/homekit/hmcharacteristicvaluecurrentfanstate?language=objc)
872// NS_ENUM
873#[repr(transparent)]
874#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
875pub struct HMCharacteristicValueCurrentFanState(pub NSInteger);
876impl HMCharacteristicValueCurrentFanState {
877    #[doc(alias = "HMCharacteristicValueCurrentFanStateInactive")]
878    pub const Inactive: Self = Self(0);
879    #[doc(alias = "HMCharacteristicValueCurrentFanStateIdle")]
880    pub const Idle: Self = Self(1);
881    #[doc(alias = "HMCharacteristicValueCurrentFanStateActive")]
882    pub const Active: Self = Self(2);
883}
884
885unsafe impl Encode for HMCharacteristicValueCurrentFanState {
886    const ENCODING: Encoding = NSInteger::ENCODING;
887}
888
889unsafe impl RefEncode for HMCharacteristicValueCurrentFanState {
890    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
891}
892
893/// [Apple's documentation](https://developer.apple.com/documentation/homekit/hmcharacteristicvalueactivationstate?language=objc)
894// NS_ENUM
895#[repr(transparent)]
896#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
897pub struct HMCharacteristicValueActivationState(pub NSInteger);
898impl HMCharacteristicValueActivationState {
899    #[doc(alias = "HMCharacteristicValueActivationStateInactive")]
900    pub const Inactive: Self = Self(0);
901    #[doc(alias = "HMCharacteristicValueActivationStateActive")]
902    pub const Active: Self = Self(1);
903}
904
905unsafe impl Encode for HMCharacteristicValueActivationState {
906    const ENCODING: Encoding = NSInteger::ENCODING;
907}
908
909unsafe impl RefEncode for HMCharacteristicValueActivationState {
910    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
911}
912
913/// [Apple's documentation](https://developer.apple.com/documentation/homekit/hmcharacteristicvaluecurrentheatercoolerstate?language=objc)
914// NS_ENUM
915#[repr(transparent)]
916#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
917pub struct HMCharacteristicValueCurrentHeaterCoolerState(pub NSInteger);
918impl HMCharacteristicValueCurrentHeaterCoolerState {
919    #[doc(alias = "HMCharacteristicValueCurrentHeaterCoolerStateInactive")]
920    pub const Inactive: Self = Self(0);
921    #[doc(alias = "HMCharacteristicValueCurrentHeaterCoolerStateIdle")]
922    pub const Idle: Self = Self(1);
923    #[doc(alias = "HMCharacteristicValueCurrentHeaterCoolerStateHeating")]
924    pub const Heating: Self = Self(2);
925    #[doc(alias = "HMCharacteristicValueCurrentHeaterCoolerStateCooling")]
926    pub const Cooling: Self = Self(3);
927}
928
929unsafe impl Encode for HMCharacteristicValueCurrentHeaterCoolerState {
930    const ENCODING: Encoding = NSInteger::ENCODING;
931}
932
933unsafe impl RefEncode for HMCharacteristicValueCurrentHeaterCoolerState {
934    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
935}
936
937/// [Apple's documentation](https://developer.apple.com/documentation/homekit/hmcharacteristicvaluetargetheatercoolerstate?language=objc)
938// NS_ENUM
939#[repr(transparent)]
940#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
941pub struct HMCharacteristicValueTargetHeaterCoolerState(pub NSInteger);
942impl HMCharacteristicValueTargetHeaterCoolerState {
943    #[doc(alias = "HMCharacteristicValueTargetHeaterCoolerStateAutomatic")]
944    pub const Automatic: Self = Self(0);
945    #[doc(alias = "HMCharacteristicValueTargetHeaterCoolerStateHeat")]
946    pub const Heat: Self = Self(1);
947    #[doc(alias = "HMCharacteristicValueTargetHeaterCoolerStateCool")]
948    pub const Cool: Self = Self(2);
949}
950
951unsafe impl Encode for HMCharacteristicValueTargetHeaterCoolerState {
952    const ENCODING: Encoding = NSInteger::ENCODING;
953}
954
955unsafe impl RefEncode for HMCharacteristicValueTargetHeaterCoolerState {
956    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
957}
958
959/// [Apple's documentation](https://developer.apple.com/documentation/homekit/hmcharacteristicvaluecurrenthumidifierdehumidifierstate?language=objc)
960// NS_ENUM
961#[repr(transparent)]
962#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
963pub struct HMCharacteristicValueCurrentHumidifierDehumidifierState(pub NSInteger);
964impl HMCharacteristicValueCurrentHumidifierDehumidifierState {
965    #[doc(alias = "HMCharacteristicValueCurrentHumidifierDehumidifierStateInactive")]
966    pub const Inactive: Self = Self(0);
967    #[doc(alias = "HMCharacteristicValueCurrentHumidifierDehumidifierStateIdle")]
968    pub const Idle: Self = Self(1);
969    #[doc(alias = "HMCharacteristicValueCurrentHumidifierDehumidifierStateHumidifying")]
970    pub const Humidifying: Self = Self(2);
971    #[doc(alias = "HMCharacteristicValueCurrentHumidifierDehumidifierStateDehumidifying")]
972    pub const Dehumidifying: Self = Self(3);
973}
974
975unsafe impl Encode for HMCharacteristicValueCurrentHumidifierDehumidifierState {
976    const ENCODING: Encoding = NSInteger::ENCODING;
977}
978
979unsafe impl RefEncode for HMCharacteristicValueCurrentHumidifierDehumidifierState {
980    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
981}
982
983/// [Apple's documentation](https://developer.apple.com/documentation/homekit/hmcharacteristicvaluetargethumidifierdehumidifierstate?language=objc)
984// NS_ENUM
985#[repr(transparent)]
986#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
987pub struct HMCharacteristicValueTargetHumidifierDehumidifierState(pub NSInteger);
988impl HMCharacteristicValueTargetHumidifierDehumidifierState {
989    #[doc(alias = "HMCharacteristicValueTargetHumidifierDehumidifierStateAutomatic")]
990    pub const Automatic: Self = Self(0);
991    #[doc(alias = "HMCharacteristicValueTargetHumidifierDehumidifierStateHumidify")]
992    pub const Humidify: Self = Self(1);
993    #[doc(alias = "HMCharacteristicValueTargetHumidifierDehumidifierStateDehumidify")]
994    pub const Dehumidify: Self = Self(2);
995}
996
997unsafe impl Encode for HMCharacteristicValueTargetHumidifierDehumidifierState {
998    const ENCODING: Encoding = NSInteger::ENCODING;
999}
1000
1001unsafe impl RefEncode for HMCharacteristicValueTargetHumidifierDehumidifierState {
1002    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
1003}
1004
1005/// [Apple's documentation](https://developer.apple.com/documentation/homekit/hmcharacteristicvalueswingmode?language=objc)
1006// NS_ENUM
1007#[repr(transparent)]
1008#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
1009pub struct HMCharacteristicValueSwingMode(pub NSInteger);
1010impl HMCharacteristicValueSwingMode {
1011    #[doc(alias = "HMCharacteristicValueSwingModeDisabled")]
1012    pub const Disabled: Self = Self(0);
1013    #[doc(alias = "HMCharacteristicValueSwingModeEnabled")]
1014    pub const Enabled: Self = Self(1);
1015}
1016
1017unsafe impl Encode for HMCharacteristicValueSwingMode {
1018    const ENCODING: Encoding = NSInteger::ENCODING;
1019}
1020
1021unsafe impl RefEncode for HMCharacteristicValueSwingMode {
1022    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
1023}
1024
1025/// [Apple's documentation](https://developer.apple.com/documentation/homekit/hmcharacteristicvaluetargetfanstate?language=objc)
1026// NS_ENUM
1027#[repr(transparent)]
1028#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
1029pub struct HMCharacteristicValueTargetFanState(pub NSInteger);
1030impl HMCharacteristicValueTargetFanState {
1031    #[doc(alias = "HMCharacteristicValueTargetFanStateManual")]
1032    pub const Manual: Self = Self(0);
1033    #[doc(alias = "HMCharacteristicValueTargetFanStateAutomatic")]
1034    pub const Automatic: Self = Self(1);
1035}
1036
1037unsafe impl Encode for HMCharacteristicValueTargetFanState {
1038    const ENCODING: Encoding = NSInteger::ENCODING;
1039}
1040
1041unsafe impl RefEncode for HMCharacteristicValueTargetFanState {
1042    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
1043}
1044
1045/// [Apple's documentation](https://developer.apple.com/documentation/homekit/hmcharacteristicvalueconfigurationstate?language=objc)
1046// NS_ENUM
1047#[repr(transparent)]
1048#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
1049pub struct HMCharacteristicValueConfigurationState(pub NSInteger);
1050impl HMCharacteristicValueConfigurationState {
1051    #[doc(alias = "HMCharacteristicValueConfigurationStateNotConfigured")]
1052    pub const NotConfigured: Self = Self(0);
1053    #[doc(alias = "HMCharacteristicValueConfigurationStateConfigured")]
1054    pub const Configured: Self = Self(1);
1055}
1056
1057unsafe impl Encode for HMCharacteristicValueConfigurationState {
1058    const ENCODING: Encoding = NSInteger::ENCODING;
1059}
1060
1061unsafe impl RefEncode for HMCharacteristicValueConfigurationState {
1062    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
1063}
1064
1065/// [Apple's documentation](https://developer.apple.com/documentation/homekit/hmcharacteristicvalueinputsourcetype?language=objc)
1066// NS_ENUM
1067#[repr(transparent)]
1068#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
1069pub struct HMCharacteristicValueInputSourceType(pub NSInteger);
1070impl HMCharacteristicValueInputSourceType {
1071    #[doc(alias = "HMCharacteristicValueInputSourceTypeOther")]
1072    pub const Other: Self = Self(0);
1073    #[doc(alias = "HMCharacteristicValueInputSourceTypeHomeScreen")]
1074    pub const HomeScreen: Self = Self(1);
1075    #[doc(alias = "HMCharacteristicValueInputSourceTypeTuner")]
1076    pub const Tuner: Self = Self(2);
1077    #[doc(alias = "HMCharacteristicValueInputSourceTypeHDMI")]
1078    pub const HDMI: Self = Self(3);
1079    #[doc(alias = "HMCharacteristicValueInputSourceTypeCompositeVideo")]
1080    pub const CompositeVideo: Self = Self(4);
1081    #[doc(alias = "HMCharacteristicValueInputSourceTypeSVideo")]
1082    pub const SVideo: Self = Self(5);
1083    #[doc(alias = "HMCharacteristicValueInputSourceTypeComponentVideo")]
1084    pub const ComponentVideo: Self = Self(6);
1085    #[doc(alias = "HMCharacteristicValueInputSourceTypeDVI")]
1086    pub const DVI: Self = Self(7);
1087    #[doc(alias = "HMCharacteristicValueInputSourceTypeAirPlay")]
1088    pub const AirPlay: Self = Self(8);
1089    #[doc(alias = "HMCharacteristicValueInputSourceTypeUSB")]
1090    pub const USB: Self = Self(9);
1091    #[doc(alias = "HMCharacteristicValueInputSourceTypeApplication")]
1092    pub const Application: Self = Self(10);
1093}
1094
1095unsafe impl Encode for HMCharacteristicValueInputSourceType {
1096    const ENCODING: Encoding = NSInteger::ENCODING;
1097}
1098
1099unsafe impl RefEncode for HMCharacteristicValueInputSourceType {
1100    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
1101}
1102
1103/// [Apple's documentation](https://developer.apple.com/documentation/homekit/hmcharacteristicvalueinputdevicetype?language=objc)
1104// NS_ENUM
1105#[repr(transparent)]
1106#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
1107pub struct HMCharacteristicValueInputDeviceType(pub NSInteger);
1108impl HMCharacteristicValueInputDeviceType {
1109    #[doc(alias = "HMCharacteristicValueInputDeviceTypeOther")]
1110    pub const Other: Self = Self(0);
1111    #[doc(alias = "HMCharacteristicValueInputDeviceTypeTV")]
1112    pub const TV: Self = Self(1);
1113    #[doc(alias = "HMCharacteristicValueInputDeviceTypeRecording")]
1114    pub const Recording: Self = Self(2);
1115    #[doc(alias = "HMCharacteristicValueInputDeviceTypeTuner")]
1116    pub const Tuner: Self = Self(3);
1117    #[doc(alias = "HMCharacteristicValueInputDeviceTypePlayback")]
1118    pub const Playback: Self = Self(4);
1119    #[doc(alias = "HMCharacteristicValueInputDeviceTypeAudioSystem")]
1120    pub const AudioSystem: Self = Self(5);
1121    #[doc(alias = "HMCharacteristicValueInputDeviceTypeNone")]
1122    pub const None: Self = Self(6);
1123}
1124
1125unsafe impl Encode for HMCharacteristicValueInputDeviceType {
1126    const ENCODING: Encoding = NSInteger::ENCODING;
1127}
1128
1129unsafe impl RefEncode for HMCharacteristicValueInputDeviceType {
1130    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
1131}
1132
1133/// [Apple's documentation](https://developer.apple.com/documentation/homekit/hmcharacteristicvalueclosedcaptions?language=objc)
1134// NS_ENUM
1135#[repr(transparent)]
1136#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
1137pub struct HMCharacteristicValueClosedCaptions(pub NSInteger);
1138impl HMCharacteristicValueClosedCaptions {
1139    #[doc(alias = "HMCharacteristicValueClosedCaptionsDisabled")]
1140    pub const Disabled: Self = Self(0);
1141    #[doc(alias = "HMCharacteristicValueClosedCaptionsEnabled")]
1142    pub const Enabled: Self = Self(1);
1143}
1144
1145unsafe impl Encode for HMCharacteristicValueClosedCaptions {
1146    const ENCODING: Encoding = NSInteger::ENCODING;
1147}
1148
1149unsafe impl RefEncode for HMCharacteristicValueClosedCaptions {
1150    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
1151}
1152
1153/// [Apple's documentation](https://developer.apple.com/documentation/homekit/hmcharacteristicvaluepowermodeselection?language=objc)
1154// NS_ENUM
1155#[repr(transparent)]
1156#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
1157pub struct HMCharacteristicValuePowerModeSelection(pub NSInteger);
1158impl HMCharacteristicValuePowerModeSelection {
1159    #[doc(alias = "HMCharacteristicValuePowerModeSelectionShow")]
1160    pub const Show: Self = Self(0);
1161    #[doc(alias = "HMCharacteristicValuePowerModeSelectionHide")]
1162    pub const Hide: Self = Self(1);
1163}
1164
1165unsafe impl Encode for HMCharacteristicValuePowerModeSelection {
1166    const ENCODING: Encoding = NSInteger::ENCODING;
1167}
1168
1169unsafe impl RefEncode for HMCharacteristicValuePowerModeSelection {
1170    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
1171}
1172
1173/// [Apple's documentation](https://developer.apple.com/documentation/homekit/hmcharacteristicvaluecurrentmediastate?language=objc)
1174// NS_ENUM
1175#[repr(transparent)]
1176#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
1177pub struct HMCharacteristicValueCurrentMediaState(pub NSInteger);
1178impl HMCharacteristicValueCurrentMediaState {
1179    #[doc(alias = "HMCharacteristicValueCurrentMediaStatePlaying")]
1180    pub const Playing: Self = Self(0);
1181    #[doc(alias = "HMCharacteristicValueCurrentMediaStatePaused")]
1182    pub const Paused: Self = Self(1);
1183    #[doc(alias = "HMCharacteristicValueCurrentMediaStateStopped")]
1184    pub const Stopped: Self = Self(2);
1185    #[doc(alias = "HMCharacteristicValueCurrentMediaStateUnknown")]
1186    pub const Unknown: Self = Self(3);
1187    #[doc(alias = "HMCharacteristicValueCurrentMediaStateLoading")]
1188    pub const Loading: Self = Self(4);
1189    #[doc(alias = "HMCharacteristicValueCurrentMediaStateInterrupted")]
1190    pub const Interrupted: Self = Self(5);
1191}
1192
1193unsafe impl Encode for HMCharacteristicValueCurrentMediaState {
1194    const ENCODING: Encoding = NSInteger::ENCODING;
1195}
1196
1197unsafe impl RefEncode for HMCharacteristicValueCurrentMediaState {
1198    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
1199}
1200
1201/// [Apple's documentation](https://developer.apple.com/documentation/homekit/hmcharacteristicvalueremotekey?language=objc)
1202// NS_ENUM
1203#[repr(transparent)]
1204#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
1205pub struct HMCharacteristicValueRemoteKey(pub NSInteger);
1206impl HMCharacteristicValueRemoteKey {
1207    #[doc(alias = "HMCharacteristicValueRemoteKeyRewind")]
1208    pub const Rewind: Self = Self(0);
1209    #[doc(alias = "HMCharacteristicValueRemoteKeyFastForward")]
1210    pub const FastForward: Self = Self(1);
1211    #[doc(alias = "HMCharacteristicValueRemoteKeyNextTrack")]
1212    pub const NextTrack: Self = Self(2);
1213    #[doc(alias = "HMCharacteristicValueRemoteKeyPreviousTrack")]
1214    pub const PreviousTrack: Self = Self(3);
1215    #[doc(alias = "HMCharacteristicValueRemoteKeyArrowUp")]
1216    pub const ArrowUp: Self = Self(4);
1217    #[doc(alias = "HMCharacteristicValueRemoteKeyArrowDown")]
1218    pub const ArrowDown: Self = Self(5);
1219    #[doc(alias = "HMCharacteristicValueRemoteKeyArrowLeft")]
1220    pub const ArrowLeft: Self = Self(6);
1221    #[doc(alias = "HMCharacteristicValueRemoteKeyArrowRight")]
1222    pub const ArrowRight: Self = Self(7);
1223    #[doc(alias = "HMCharacteristicValueRemoteKeySelect")]
1224    pub const Select: Self = Self(8);
1225    #[doc(alias = "HMCharacteristicValueRemoteKeyBack")]
1226    pub const Back: Self = Self(9);
1227    #[doc(alias = "HMCharacteristicValueRemoteKeyExit")]
1228    pub const Exit: Self = Self(10);
1229    #[doc(alias = "HMCharacteristicValueRemoteKeyPlayPause")]
1230    pub const PlayPause: Self = Self(11);
1231    #[doc(alias = "HMCharacteristicValueRemoteKeyPlay")]
1232    pub const Play: Self = Self(12);
1233    #[doc(alias = "HMCharacteristicValueRemoteKeyPause")]
1234    pub const Pause: Self = Self(13);
1235    #[doc(alias = "HMCharacteristicValueRemoteKeyMenu")]
1236    pub const Menu: Self = Self(14);
1237    #[doc(alias = "HMCharacteristicValueRemoteKeyInfo")]
1238    pub const Info: Self = Self(15);
1239    #[doc(alias = "HMCharacteristicValueRemoteKeyHome")]
1240    pub const Home: Self = Self(16);
1241}
1242
1243unsafe impl Encode for HMCharacteristicValueRemoteKey {
1244    const ENCODING: Encoding = NSInteger::ENCODING;
1245}
1246
1247unsafe impl RefEncode for HMCharacteristicValueRemoteKey {
1248    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
1249}
1250
1251/// [Apple's documentation](https://developer.apple.com/documentation/homekit/hmcharacteristicvaluepicturemode?language=objc)
1252// NS_ENUM
1253#[repr(transparent)]
1254#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
1255pub struct HMCharacteristicValuePictureMode(pub NSInteger);
1256impl HMCharacteristicValuePictureMode {
1257    #[doc(alias = "HMCharacteristicValuePictureModeStandard")]
1258    pub const Standard: Self = Self(0);
1259    #[doc(alias = "HMCharacteristicValuePictureModeMovie")]
1260    pub const Movie: Self = Self(1);
1261    #[doc(alias = "HMCharacteristicValuePictureModeSport")]
1262    pub const Sport: Self = Self(2);
1263    #[doc(alias = "HMCharacteristicValuePictureModeGame")]
1264    pub const Game: Self = Self(3);
1265    #[doc(alias = "HMCharacteristicValuePictureModePhoto")]
1266    pub const Photo: Self = Self(4);
1267    #[doc(alias = "HMCharacteristicValuePictureModeVivid")]
1268    pub const Vivid: Self = Self(5);
1269    #[doc(alias = "HMCharacteristicValuePictureModeDark")]
1270    pub const Dark: Self = Self(6);
1271    #[doc(alias = "HMCharacteristicValuePictureModeBright")]
1272    pub const Bright: Self = Self(7);
1273    #[doc(alias = "HMCharacteristicValuePictureModeComputer")]
1274    pub const Computer: Self = Self(8);
1275    #[doc(alias = "HMCharacteristicValuePictureModeNight")]
1276    pub const Night: Self = Self(9);
1277    #[doc(alias = "HMCharacteristicValuePictureModeCalibrated")]
1278    pub const Calibrated: Self = Self(10);
1279    #[doc(alias = "HMCharacteristicValuePictureModeCustom1")]
1280    pub const Custom1: Self = Self(11);
1281    #[doc(alias = "HMCharacteristicValuePictureModeCustom2")]
1282    pub const Custom2: Self = Self(12);
1283    #[doc(alias = "HMCharacteristicValuePictureModeCustom3")]
1284    pub const Custom3: Self = Self(13);
1285}
1286
1287unsafe impl Encode for HMCharacteristicValuePictureMode {
1288    const ENCODING: Encoding = NSInteger::ENCODING;
1289}
1290
1291unsafe impl RefEncode for HMCharacteristicValuePictureMode {
1292    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
1293}
1294
1295/// [Apple's documentation](https://developer.apple.com/documentation/homekit/hmcharacteristicvaluetargetvisibilitystate?language=objc)
1296// NS_ENUM
1297#[repr(transparent)]
1298#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
1299pub struct HMCharacteristicValueTargetVisibilityState(pub NSInteger);
1300impl HMCharacteristicValueTargetVisibilityState {
1301    #[doc(alias = "HMCharacteristicValueTargetVisibilityStateShow")]
1302    pub const Show: Self = Self(0);
1303    #[doc(alias = "HMCharacteristicValueTargetVisibilityStateHide")]
1304    pub const Hide: Self = Self(1);
1305}
1306
1307unsafe impl Encode for HMCharacteristicValueTargetVisibilityState {
1308    const ENCODING: Encoding = NSInteger::ENCODING;
1309}
1310
1311unsafe impl RefEncode for HMCharacteristicValueTargetVisibilityState {
1312    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
1313}
1314
1315/// [Apple's documentation](https://developer.apple.com/documentation/homekit/hmcharacteristicvaluecurrentvisibilitystate?language=objc)
1316// NS_ENUM
1317#[repr(transparent)]
1318#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
1319pub struct HMCharacteristicValueCurrentVisibilityState(pub NSInteger);
1320impl HMCharacteristicValueCurrentVisibilityState {
1321    #[doc(alias = "HMCharacteristicValueCurrentVisibilityStateShown")]
1322    pub const Shown: Self = Self(0);
1323    #[doc(alias = "HMCharacteristicValueCurrentVisibilityStateHidden")]
1324    pub const Hidden: Self = Self(1);
1325    #[doc(alias = "HMCharacteristicValueCurrentVisibilityStateConnected")]
1326    pub const Connected: Self = Self(2);
1327    #[doc(alias = "HMCharacteristicValueCurrentVisibilityStateAlwaysShown")]
1328    pub const AlwaysShown: Self = Self(3);
1329}
1330
1331unsafe impl Encode for HMCharacteristicValueCurrentVisibilityState {
1332    const ENCODING: Encoding = NSInteger::ENCODING;
1333}
1334
1335unsafe impl RefEncode for HMCharacteristicValueCurrentVisibilityState {
1336    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
1337}
1338
1339/// [Apple's documentation](https://developer.apple.com/documentation/homekit/hmcharacteristicvaluetargetmediastate?language=objc)
1340// NS_ENUM
1341#[repr(transparent)]
1342#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
1343pub struct HMCharacteristicValueTargetMediaState(pub NSInteger);
1344impl HMCharacteristicValueTargetMediaState {
1345    #[doc(alias = "HMCharacteristicValueTargetMediaStatePlay")]
1346    pub const Play: Self = Self(0);
1347    #[doc(alias = "HMCharacteristicValueTargetMediaStatePause")]
1348    pub const Pause: Self = Self(1);
1349    #[doc(alias = "HMCharacteristicValueTargetMediaStateStop")]
1350    pub const Stop: Self = Self(2);
1351}
1352
1353unsafe impl Encode for HMCharacteristicValueTargetMediaState {
1354    const ENCODING: Encoding = NSInteger::ENCODING;
1355}
1356
1357unsafe impl RefEncode for HMCharacteristicValueTargetMediaState {
1358    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
1359}
1360
1361/// [Apple's documentation](https://developer.apple.com/documentation/homekit/hmcharacteristicvaluerouterstatus?language=objc)
1362// NS_ENUM
1363#[repr(transparent)]
1364#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
1365pub struct HMCharacteristicValueRouterStatus(pub NSInteger);
1366impl HMCharacteristicValueRouterStatus {
1367    #[doc(alias = "HMCharacteristicValueRouterStatusReady")]
1368    pub const Ready: Self = Self(0);
1369    #[doc(alias = "HMCharacteristicValueRouterStatusNotReady")]
1370    pub const NotReady: Self = Self(1);
1371}
1372
1373unsafe impl Encode for HMCharacteristicValueRouterStatus {
1374    const ENCODING: Encoding = NSInteger::ENCODING;
1375}
1376
1377unsafe impl RefEncode for HMCharacteristicValueRouterStatus {
1378    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
1379}
1380
1381/// [Apple's documentation](https://developer.apple.com/documentation/homekit/hmcharacteristicvaluewifisatellitestatus?language=objc)
1382// NS_ENUM
1383#[repr(transparent)]
1384#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
1385pub struct HMCharacteristicValueWiFiSatelliteStatus(pub NSInteger);
1386impl HMCharacteristicValueWiFiSatelliteStatus {
1387    #[doc(alias = "HMCharacteristicValueWiFiSatelliteStatusUnknown")]
1388    pub const Unknown: Self = Self(0);
1389    #[doc(alias = "HMCharacteristicValueWiFiSatelliteStatusConnected")]
1390    pub const Connected: Self = Self(1);
1391    #[doc(alias = "HMCharacteristicValueWiFiSatelliteStatusNotConnected")]
1392    pub const NotConnected: Self = Self(2);
1393}
1394
1395unsafe impl Encode for HMCharacteristicValueWiFiSatelliteStatus {
1396    const ENCODING: Encoding = NSInteger::ENCODING;
1397}
1398
1399unsafe impl RefEncode for HMCharacteristicValueWiFiSatelliteStatus {
1400    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
1401}