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 unsafe fn initWithIdentifier(
51 this: Allocated<Self>,
52 identifier: &NSString,
53 ) -> Retained<Self>;
54
55 #[cfg(feature = "NSString")]
56 #[unsafe(method(identifier))]
57 #[unsafe(method_family = none)]
58 pub unsafe fn identifier(&self) -> Retained<NSString>;
59
60 #[cfg(feature = "NSObjCRuntime")]
61 #[unsafe(method(qualityOfService))]
62 #[unsafe(method_family = none)]
63 pub unsafe fn qualityOfService(&self) -> NSQualityOfService;
64
65 #[cfg(feature = "NSObjCRuntime")]
66 #[unsafe(method(setQualityOfService:))]
68 #[unsafe(method_family = none)]
69 pub unsafe fn setQualityOfService(&self, quality_of_service: NSQualityOfService);
70
71 #[unsafe(method(repeats))]
72 #[unsafe(method_family = none)]
73 pub unsafe fn repeats(&self) -> bool;
74
75 #[unsafe(method(setRepeats:))]
77 #[unsafe(method_family = none)]
78 pub unsafe fn setRepeats(&self, repeats: bool);
79
80 #[cfg(feature = "NSDate")]
81 #[unsafe(method(interval))]
82 #[unsafe(method_family = none)]
83 pub unsafe fn interval(&self) -> NSTimeInterval;
84
85 #[cfg(feature = "NSDate")]
86 #[unsafe(method(setInterval:))]
88 #[unsafe(method_family = none)]
89 pub unsafe fn setInterval(&self, interval: NSTimeInterval);
90
91 #[cfg(feature = "NSDate")]
92 #[unsafe(method(tolerance))]
93 #[unsafe(method_family = none)]
94 pub unsafe fn tolerance(&self) -> NSTimeInterval;
95
96 #[cfg(feature = "NSDate")]
97 #[unsafe(method(setTolerance:))]
99 #[unsafe(method_family = none)]
100 pub unsafe fn setTolerance(&self, tolerance: NSTimeInterval);
101
102 #[cfg(feature = "block2")]
103 #[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 unsafe fn invalidate(&self);
113
114 #[unsafe(method(shouldDefer))]
115 #[unsafe(method_family = none)]
116 pub unsafe fn shouldDefer(&self) -> bool;
117 );
118}
119
120impl NSBackgroundActivityScheduler {
122 extern_methods!(
123 #[unsafe(method(init))]
124 #[unsafe(method_family = init)]
125 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
126
127 #[unsafe(method(new))]
128 #[unsafe(method_family = new)]
129 pub unsafe fn new() -> Retained<Self>;
130 );
131}