objc2_foundation/generated/
NSBackgroundActivityScheduler.rs1use core::ffi::*;
4use core::ptr::NonNull;
5use objc2::__framework_prelude::*;
6
7use crate::*;
8
9#[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#[cfg(feature = "block2")]
31pub type NSBackgroundActivityCompletionHandler =
32 *mut block2::Block<dyn Fn(NSBackgroundActivityResult)>;
33
34extern_class!(
35 #[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 #[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 #[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 #[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 #[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
118impl 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}