objc2_foundation/generated/
NSBackgroundActivityScheduler.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::*;
6
7use crate::*;
8
9/// [Apple's documentation](https://developer.apple.com/documentation/foundation/nsbackgroundactivityresult?language=objc)
10// NS_ENUM
11#[repr(transparent)]
12#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
13pub struct NSBackgroundActivityResult(pub NSInteger);
14impl NSBackgroundActivityResult {
15    #[doc(alias = "NSBackgroundActivityResultFinished")]
16    pub const Finished: Self = Self(1);
17    #[doc(alias = "NSBackgroundActivityResultDeferred")]
18    pub const Deferred: Self = Self(2);
19}
20
21unsafe impl Encode for NSBackgroundActivityResult {
22    const ENCODING: Encoding = NSInteger::ENCODING;
23}
24
25unsafe impl RefEncode for NSBackgroundActivityResult {
26    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
27}
28
29/// [Apple's documentation](https://developer.apple.com/documentation/foundation/nsbackgroundactivitycompletionhandler?language=objc)
30#[cfg(feature = "block2")]
31pub type NSBackgroundActivityCompletionHandler =
32    *mut block2::Block<dyn Fn(NSBackgroundActivityResult)>;
33
34extern_class!(
35    /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nsbackgroundactivityscheduler?language=objc)
36    #[unsafe(super(NSObject))]
37    #[derive(Debug, PartialEq, Eq, Hash)]
38    pub struct NSBackgroundActivityScheduler;
39);
40
41unsafe impl NSObjectProtocol for NSBackgroundActivityScheduler {}
42
43impl NSBackgroundActivityScheduler {
44    extern_methods!(
45        #[cfg(feature = "NSString")]
46        #[unsafe(method(initWithIdentifier:))]
47        #[unsafe(method_family = init)]
48        pub unsafe fn initWithIdentifier(
49            this: Allocated<Self>,
50            identifier: &NSString,
51        ) -> Retained<Self>;
52
53        #[cfg(feature = "NSString")]
54        #[unsafe(method(identifier))]
55        #[unsafe(method_family = none)]
56        pub unsafe fn identifier(&self) -> Retained<NSString>;
57
58        #[cfg(feature = "NSObjCRuntime")]
59        #[unsafe(method(qualityOfService))]
60        #[unsafe(method_family = none)]
61        pub unsafe fn qualityOfService(&self) -> NSQualityOfService;
62
63        #[cfg(feature = "NSObjCRuntime")]
64        /// Setter for [`qualityOfService`][Self::qualityOfService].
65        #[unsafe(method(setQualityOfService:))]
66        #[unsafe(method_family = none)]
67        pub unsafe fn setQualityOfService(&self, quality_of_service: NSQualityOfService);
68
69        #[unsafe(method(repeats))]
70        #[unsafe(method_family = none)]
71        pub unsafe fn repeats(&self) -> bool;
72
73        /// Setter for [`repeats`][Self::repeats].
74        #[unsafe(method(setRepeats:))]
75        #[unsafe(method_family = none)]
76        pub unsafe fn setRepeats(&self, repeats: bool);
77
78        #[cfg(feature = "NSDate")]
79        #[unsafe(method(interval))]
80        #[unsafe(method_family = none)]
81        pub unsafe fn interval(&self) -> NSTimeInterval;
82
83        #[cfg(feature = "NSDate")]
84        /// Setter for [`interval`][Self::interval].
85        #[unsafe(method(setInterval:))]
86        #[unsafe(method_family = none)]
87        pub unsafe fn setInterval(&self, interval: NSTimeInterval);
88
89        #[cfg(feature = "NSDate")]
90        #[unsafe(method(tolerance))]
91        #[unsafe(method_family = none)]
92        pub unsafe fn tolerance(&self) -> NSTimeInterval;
93
94        #[cfg(feature = "NSDate")]
95        /// Setter for [`tolerance`][Self::tolerance].
96        #[unsafe(method(setTolerance:))]
97        #[unsafe(method_family = none)]
98        pub unsafe fn setTolerance(&self, tolerance: NSTimeInterval);
99
100        #[cfg(feature = "block2")]
101        #[unsafe(method(scheduleWithBlock:))]
102        #[unsafe(method_family = none)]
103        pub unsafe fn scheduleWithBlock(
104            &self,
105            block: &block2::Block<dyn Fn(NSBackgroundActivityCompletionHandler)>,
106        );
107
108        #[unsafe(method(invalidate))]
109        #[unsafe(method_family = none)]
110        pub unsafe fn invalidate(&self);
111
112        #[unsafe(method(shouldDefer))]
113        #[unsafe(method_family = none)]
114        pub unsafe fn shouldDefer(&self) -> bool;
115    );
116}
117
118/// Methods declared on superclass `NSObject`.
119impl NSBackgroundActivityScheduler {
120    extern_methods!(
121        #[unsafe(method(init))]
122        #[unsafe(method_family = init)]
123        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
124
125        #[unsafe(method(new))]
126        #[unsafe(method_family = new)]
127        pub unsafe fn new() -> Retained<Self>;
128    );
129}