objc2_core_motion/generated/
CMAccelerometer.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/cmacceleration?language=objc)
11#[repr(C)]
12#[derive(Clone, Copy, Debug, PartialEq)]
13pub struct CMAcceleration {
14    pub x: c_double,
15    pub y: c_double,
16    pub z: c_double,
17}
18
19unsafe impl Encode for CMAcceleration {
20    const ENCODING: Encoding = Encoding::Struct(
21        "?",
22        &[
23            <c_double>::ENCODING,
24            <c_double>::ENCODING,
25            <c_double>::ENCODING,
26        ],
27    );
28}
29
30unsafe impl RefEncode for CMAcceleration {
31    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
32}
33
34extern_class!(
35    /// [Apple's documentation](https://developer.apple.com/documentation/coremotion/cmaccelerometerdata?language=objc)
36    #[unsafe(super(CMLogItem, NSObject))]
37    #[derive(Debug, PartialEq, Eq, Hash)]
38    #[cfg(feature = "CMLogItem")]
39    pub struct CMAccelerometerData;
40);
41
42#[cfg(feature = "CMLogItem")]
43extern_conformance!(
44    unsafe impl NSCoding for CMAccelerometerData {}
45);
46
47#[cfg(feature = "CMLogItem")]
48extern_conformance!(
49    unsafe impl NSCopying for CMAccelerometerData {}
50);
51
52#[cfg(feature = "CMLogItem")]
53unsafe impl CopyingHelper for CMAccelerometerData {
54    type Result = Self;
55}
56
57#[cfg(feature = "CMLogItem")]
58extern_conformance!(
59    unsafe impl NSObjectProtocol for CMAccelerometerData {}
60);
61
62#[cfg(feature = "CMLogItem")]
63extern_conformance!(
64    unsafe impl NSSecureCoding for CMAccelerometerData {}
65);
66
67#[cfg(feature = "CMLogItem")]
68impl CMAccelerometerData {
69    extern_methods!(
70        #[unsafe(method(acceleration))]
71        #[unsafe(method_family = none)]
72        pub unsafe fn acceleration(&self) -> CMAcceleration;
73    );
74}
75
76/// Methods declared on superclass `NSObject`.
77#[cfg(feature = "CMLogItem")]
78impl CMAccelerometerData {
79    extern_methods!(
80        #[unsafe(method(init))]
81        #[unsafe(method_family = init)]
82        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
83
84        #[unsafe(method(new))]
85        #[unsafe(method_family = new)]
86        pub unsafe fn new() -> Retained<Self>;
87    );
88}