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::DynBlock<dyn Fn(NSBackgroundActivityResult)>;
33
34extern_class!(
35 #[unsafe(super(NSObject))]
37 #[derive(Debug, PartialEq, Eq, Hash)]
38 pub struct NSBackgroundActivityScheduler;
39);
40
41extern_conformance!(
42 unsafe impl NSObjectProtocol for NSBackgroundActivityScheduler {}
43);
44
45impl NSBackgroundActivityScheduler {
46 extern_methods!(
47 #[cfg(feature = "NSString")]
48 #[unsafe(method(initWithIdentifier:))]
49 #[unsafe(method_family = init)]
50 pub fn initWithIdentifier(this: Allocated<Self>, identifier: &NSString) -> Retained<Self>;
51
52 #[cfg(feature = "NSString")]
53 #[unsafe(method(identifier))]
54 #[unsafe(method_family = none)]
55 pub fn identifier(&self) -> Retained<NSString>;
56
57 #[cfg(feature = "NSObjCRuntime")]
58 #[unsafe(method(qualityOfService))]
59 #[unsafe(method_family = none)]
60 pub fn qualityOfService(&self) -> NSQualityOfService;
61
62 #[cfg(feature = "NSObjCRuntime")]
63 #[unsafe(method(setQualityOfService:))]
65 #[unsafe(method_family = none)]
66 pub fn setQualityOfService(&self, quality_of_service: NSQualityOfService);
67
68 #[unsafe(method(repeats))]
69 #[unsafe(method_family = none)]
70 pub fn repeats(&self) -> bool;
71
72 #[unsafe(method(setRepeats:))]
74 #[unsafe(method_family = none)]
75 pub fn setRepeats(&self, repeats: bool);
76
77 #[cfg(feature = "NSDate")]
78 #[unsafe(method(interval))]
79 #[unsafe(method_family = none)]
80 pub fn interval(&self) -> NSTimeInterval;
81
82 #[cfg(feature = "NSDate")]
83 #[unsafe(method(setInterval:))]
85 #[unsafe(method_family = none)]
86 pub fn setInterval(&self, interval: NSTimeInterval);
87
88 #[cfg(feature = "NSDate")]
89 #[unsafe(method(tolerance))]
90 #[unsafe(method_family = none)]
91 pub fn tolerance(&self) -> NSTimeInterval;
92
93 #[cfg(feature = "NSDate")]
94 #[unsafe(method(setTolerance:))]
96 #[unsafe(method_family = none)]
97 pub fn setTolerance(&self, tolerance: NSTimeInterval);
98
99 #[cfg(feature = "block2")]
100 #[unsafe(method(scheduleWithBlock:))]
104 #[unsafe(method_family = none)]
105 pub unsafe fn scheduleWithBlock(
106 &self,
107 block: &block2::DynBlock<dyn Fn(NSBackgroundActivityCompletionHandler)>,
108 );
109
110 #[unsafe(method(invalidate))]
111 #[unsafe(method_family = none)]
112 pub fn invalidate(&self);
113
114 #[unsafe(method(shouldDefer))]
115 #[unsafe(method_family = none)]
116 pub fn shouldDefer(&self) -> bool;
117 );
118}
119
120impl NSBackgroundActivityScheduler {
122 extern_methods!(
123 #[unsafe(method(init))]
124 #[unsafe(method_family = init)]
125 pub fn init(this: Allocated<Self>) -> Retained<Self>;
126
127 #[unsafe(method(new))]
128 #[unsafe(method_family = new)]
129 pub fn new() -> Retained<Self>;
130 );
131}
132
133impl DefaultRetained for NSBackgroundActivityScheduler {
134 #[inline]
135 fn default_retained() -> Retained<Self> {
136 Self::new()
137 }
138}