objc2_core_motion/generated/
CMHighFrequencyHeartRateData.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
10/// [Apple's documentation](https://developer.apple.com/documentation/coremotion/cmhighfrequencyheartratedataconfidence?language=objc)
11// NS_ENUM
12#[repr(transparent)]
13#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
14pub struct CMHighFrequencyHeartRateDataConfidence(pub NSInteger);
15impl CMHighFrequencyHeartRateDataConfidence {
16    #[doc(alias = "CMHighFrequencyHeartRateDataConfidenceLow")]
17    pub const Low: Self = Self(0);
18    #[doc(alias = "CMHighFrequencyHeartRateDataConfidenceMedium")]
19    pub const Medium: Self = Self(1);
20    #[doc(alias = "CMHighFrequencyHeartRateDataConfidenceHigh")]
21    pub const High: Self = Self(2);
22    #[doc(alias = "CMHighFrequencyHeartRateDataConfidenceHighest")]
23    pub const Highest: Self = Self(3);
24}
25
26unsafe impl Encode for CMHighFrequencyHeartRateDataConfidence {
27    const ENCODING: Encoding = NSInteger::ENCODING;
28}
29
30unsafe impl RefEncode for CMHighFrequencyHeartRateDataConfidence {
31    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
32}
33
34extern_class!(
35    /// [Apple's documentation](https://developer.apple.com/documentation/coremotion/cmhighfrequencyheartratedata?language=objc)
36    #[unsafe(super(CMLogItem, NSObject))]
37    #[derive(Debug, PartialEq, Eq, Hash)]
38    #[cfg(feature = "CMLogItem")]
39    pub struct CMHighFrequencyHeartRateData;
40);
41
42#[cfg(feature = "CMLogItem")]
43extern_conformance!(
44    unsafe impl NSCoding for CMHighFrequencyHeartRateData {}
45);
46
47#[cfg(feature = "CMLogItem")]
48extern_conformance!(
49    unsafe impl NSCopying for CMHighFrequencyHeartRateData {}
50);
51
52#[cfg(feature = "CMLogItem")]
53unsafe impl CopyingHelper for CMHighFrequencyHeartRateData {
54    type Result = Self;
55}
56
57#[cfg(feature = "CMLogItem")]
58extern_conformance!(
59    unsafe impl NSObjectProtocol for CMHighFrequencyHeartRateData {}
60);
61
62#[cfg(feature = "CMLogItem")]
63extern_conformance!(
64    unsafe impl NSSecureCoding for CMHighFrequencyHeartRateData {}
65);
66
67#[cfg(feature = "CMLogItem")]
68impl CMHighFrequencyHeartRateData {
69    extern_methods!(
70        #[unsafe(method(heartRate))]
71        #[unsafe(method_family = none)]
72        pub unsafe fn heartRate(&self) -> c_double;
73
74        #[unsafe(method(confidence))]
75        #[unsafe(method_family = none)]
76        pub unsafe fn confidence(&self) -> CMHighFrequencyHeartRateDataConfidence;
77
78        #[unsafe(method(date))]
79        #[unsafe(method_family = none)]
80        pub unsafe fn date(&self) -> Option<Retained<NSDate>>;
81    );
82}
83
84/// Methods declared on superclass `NSObject`.
85#[cfg(feature = "CMLogItem")]
86impl CMHighFrequencyHeartRateData {
87    extern_methods!(
88        #[unsafe(method(init))]
89        #[unsafe(method_family = init)]
90        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
91
92        #[unsafe(method(new))]
93        #[unsafe(method_family = new)]
94        pub unsafe fn new() -> Retained<Self>;
95    );
96}