objc2_core_motion/generated/
CMMotionActivityManager.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/cmmotionactivityhandler?language=objc)
11#[cfg(all(
12    feature = "CMLogItem",
13    feature = "CMMotionActivity",
14    feature = "block2"
15))]
16pub type CMMotionActivityHandler = *mut block2::DynBlock<dyn Fn(*mut CMMotionActivity)>;
17
18/// [Apple's documentation](https://developer.apple.com/documentation/coremotion/cmmotionactivityqueryhandler?language=objc)
19#[cfg(all(
20    feature = "CMLogItem",
21    feature = "CMMotionActivity",
22    feature = "block2"
23))]
24pub type CMMotionActivityQueryHandler =
25    *mut block2::DynBlock<dyn Fn(*mut NSArray<CMMotionActivity>, *mut NSError)>;
26
27extern_class!(
28    /// [Apple's documentation](https://developer.apple.com/documentation/coremotion/cmmotionactivitymanager?language=objc)
29    #[unsafe(super(NSObject))]
30    #[derive(Debug, PartialEq, Eq, Hash)]
31    pub struct CMMotionActivityManager;
32);
33
34extern_conformance!(
35    unsafe impl NSObjectProtocol for CMMotionActivityManager {}
36);
37
38impl CMMotionActivityManager {
39    extern_methods!(
40        #[unsafe(method(isActivityAvailable))]
41        #[unsafe(method_family = none)]
42        pub unsafe fn isActivityAvailable() -> bool;
43
44        #[cfg(feature = "CMAuthorization")]
45        #[unsafe(method(authorizationStatus))]
46        #[unsafe(method_family = none)]
47        pub unsafe fn authorizationStatus() -> CMAuthorizationStatus;
48
49        #[cfg(all(
50            feature = "CMLogItem",
51            feature = "CMMotionActivity",
52            feature = "block2"
53        ))]
54        #[unsafe(method(queryActivityStartingFromDate:toDate:toQueue:withHandler:))]
55        #[unsafe(method_family = none)]
56        pub unsafe fn queryActivityStartingFromDate_toDate_toQueue_withHandler(
57            &self,
58            start: &NSDate,
59            end: &NSDate,
60            queue: &NSOperationQueue,
61            handler: CMMotionActivityQueryHandler,
62        );
63
64        #[cfg(all(
65            feature = "CMLogItem",
66            feature = "CMMotionActivity",
67            feature = "block2"
68        ))]
69        #[unsafe(method(startActivityUpdatesToQueue:withHandler:))]
70        #[unsafe(method_family = none)]
71        pub unsafe fn startActivityUpdatesToQueue_withHandler(
72            &self,
73            queue: &NSOperationQueue,
74            handler: CMMotionActivityHandler,
75        );
76
77        #[unsafe(method(stopActivityUpdates))]
78        #[unsafe(method_family = none)]
79        pub unsafe fn stopActivityUpdates(&self);
80    );
81}
82
83/// Methods declared on superclass `NSObject`.
84impl CMMotionActivityManager {
85    extern_methods!(
86        #[unsafe(method(init))]
87        #[unsafe(method_family = init)]
88        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
89
90        #[unsafe(method(new))]
91        #[unsafe(method_family = new)]
92        pub unsafe fn new() -> Retained<Self>;
93    );
94}