objc2_watch_kit/generated/
WKExtendedRuntimeSession.rs1use core::ffi::*;
4use core::ptr::NonNull;
5use objc2::__framework_prelude::*;
6use objc2_foundation::*;
7
8use crate::*;
9
10#[repr(transparent)]
15#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
16pub struct WKExtendedRuntimeSessionState(pub NSInteger);
17impl WKExtendedRuntimeSessionState {
18 #[doc(alias = "WKExtendedRuntimeSessionStateNotStarted")]
20 pub const NotStarted: Self = Self(0);
21 #[doc(alias = "WKExtendedRuntimeSessionStateScheduled")]
23 pub const Scheduled: Self = Self(1);
24 #[doc(alias = "WKExtendedRuntimeSessionStateRunning")]
26 pub const Running: Self = Self(2);
27 #[doc(alias = "WKExtendedRuntimeSessionStateInvalid")]
29 pub const Invalid: Self = Self(3);
30}
31
32unsafe impl Encode for WKExtendedRuntimeSessionState {
33 const ENCODING: Encoding = NSInteger::ENCODING;
34}
35
36unsafe impl RefEncode for WKExtendedRuntimeSessionState {
37 const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
38}
39
40#[repr(transparent)]
45#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
46pub struct WKExtendedRuntimeSessionInvalidationReason(pub NSInteger);
47impl WKExtendedRuntimeSessionInvalidationReason {
48 #[doc(alias = "WKExtendedRuntimeSessionInvalidationReasonNone")]
50 pub const None: Self = Self(0);
51 #[doc(alias = "WKExtendedRuntimeSessionInvalidationReasonSessionInProgress")]
53 pub const SessionInProgress: Self = Self(1);
54 #[doc(alias = "WKExtendedRuntimeSessionInvalidationReasonExpired")]
56 pub const Expired: Self = Self(2);
57 #[doc(alias = "WKExtendedRuntimeSessionInvalidationReasonResignedFrontmost")]
62 pub const ResignedFrontmost: Self = Self(3);
63 #[doc(alias = "WKExtendedRuntimeSessionInvalidationReasonSuppressedBySystem")]
65 pub const SuppressedBySystem: Self = Self(4);
66 #[doc(alias = "WKExtendedRuntimeSessionInvalidationReasonError")]
68 pub const Error: Self = Self(-1);
69}
70
71unsafe impl Encode for WKExtendedRuntimeSessionInvalidationReason {
72 const ENCODING: Encoding = NSInteger::ENCODING;
73}
74
75unsafe impl RefEncode for WKExtendedRuntimeSessionInvalidationReason {
76 const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
77}
78
79extern "C" {
80 pub static WKExtendedRuntimeSessionErrorDomain: &'static NSString;
82}
83
84#[repr(transparent)]
87#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
88pub struct WKExtendedRuntimeSessionErrorCode(pub NSInteger);
89impl WKExtendedRuntimeSessionErrorCode {
90 #[doc(alias = "WKExtendedRuntimeSessionErrorUnknown")]
91 pub const Unknown: Self = Self(1);
92 #[doc(alias = "WKExtendedRuntimeSessionErrorScheduledTooFarInAdvance")]
93 pub const ScheduledTooFarInAdvance: Self = Self(2);
94 #[doc(alias = "WKExtendedRuntimeSessionErrorMustBeActiveToStartOrSchedule")]
95 pub const MustBeActiveToStartOrSchedule: Self = Self(3);
96 #[doc(alias = "WKExtendedRuntimeSessionErrorNotYetStarted")]
97 pub const NotYetStarted: Self = Self(4);
98 #[doc(alias = "WKExtendedRuntimeSessionErrorExceededResourceLimits")]
99 pub const ExceededResourceLimits: Self = Self(5);
100 #[doc(alias = "WKExtendedRuntimeSessionErrorBARDisabled")]
101 pub const BARDisabled: Self = Self(6);
102 #[doc(alias = "WKExtendedRuntimeSessionErrorNotApprovedToStartSession")]
103 pub const NotApprovedToStartSession: Self = Self(7);
104 #[doc(alias = "WKExtendedRuntimeSessionErrorNotApprovedToSchedule")]
105 pub const NotApprovedToSchedule: Self = Self(8);
106 #[doc(alias = "WKExtendedRuntimeSessionErrorMustBeActiveToPrompt")]
107 pub const MustBeActiveToPrompt: Self = Self(9);
108 #[doc(alias = "WKExtendedRuntimeSessionErrorUnsupportedSessionType")]
109 pub const UnsupportedSessionType: Self = Self(10);
110}
111
112unsafe impl Encode for WKExtendedRuntimeSessionErrorCode {
113 const ENCODING: Encoding = NSInteger::ENCODING;
114}
115
116unsafe impl RefEncode for WKExtendedRuntimeSessionErrorCode {
117 const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
118}
119
120#[repr(transparent)]
123#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
124pub struct WKExtendedRuntimeSessionAutoLaunchAuthorizationStatus(pub NSInteger);
125impl WKExtendedRuntimeSessionAutoLaunchAuthorizationStatus {
126 #[doc(alias = "WKExtendedRuntimeSessionAutoLaunchAuthorizationStatusUnknown")]
127 pub const Unknown: Self = Self(0);
128 #[doc(alias = "WKExtendedRuntimeSessionAutoLaunchAuthorizationStatusInactive")]
129 pub const Inactive: Self = Self(1);
130 #[doc(alias = "WKExtendedRuntimeSessionAutoLaunchAuthorizationStatusActive")]
131 pub const Active: Self = Self(2);
132}
133
134unsafe impl Encode for WKExtendedRuntimeSessionAutoLaunchAuthorizationStatus {
135 const ENCODING: Encoding = NSInteger::ENCODING;
136}
137
138unsafe impl RefEncode for WKExtendedRuntimeSessionAutoLaunchAuthorizationStatus {
139 const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
140}
141
142extern_class!(
143 #[unsafe(super(NSObject))]
145 #[derive(Debug, PartialEq, Eq, Hash)]
146 pub struct WKExtendedRuntimeSession;
147);
148
149extern_conformance!(
150 unsafe impl NSObjectProtocol for WKExtendedRuntimeSession {}
151);
152
153impl WKExtendedRuntimeSession {
154 extern_methods!(
155 #[unsafe(method(session))]
157 #[unsafe(method_family = none)]
158 pub unsafe fn session() -> Retained<WKExtendedRuntimeSession>;
159
160 #[cfg(feature = "block2")]
161 #[unsafe(method(requestAutoLaunchAuthorizationStatusWithCompletion:))]
167 #[unsafe(method_family = none)]
168 pub unsafe fn requestAutoLaunchAuthorizationStatusWithCompletion(
169 completion: &block2::DynBlock<
170 dyn Fn(WKExtendedRuntimeSessionAutoLaunchAuthorizationStatus, *mut NSError),
171 >,
172 );
173
174 #[unsafe(method(delegate))]
177 #[unsafe(method_family = none)]
178 pub unsafe fn delegate(
179 &self,
180 ) -> Option<Retained<ProtocolObject<dyn WKExtendedRuntimeSessionDelegate>>>;
181
182 #[unsafe(method(setDelegate:))]
186 #[unsafe(method_family = none)]
187 pub unsafe fn setDelegate(
188 &self,
189 delegate: Option<&ProtocolObject<dyn WKExtendedRuntimeSessionDelegate>>,
190 );
191
192 #[unsafe(method(state))]
194 #[unsafe(method_family = none)]
195 pub unsafe fn state(&self) -> WKExtendedRuntimeSessionState;
196
197 #[unsafe(method(expirationDate))]
202 #[unsafe(method_family = none)]
203 pub unsafe fn expirationDate(&self) -> Option<Retained<NSDate>>;
204
205 #[unsafe(method(start))]
207 #[unsafe(method_family = none)]
208 pub unsafe fn start(&self);
209
210 #[unsafe(method(startAtDate:))]
214 #[unsafe(method_family = none)]
215 pub unsafe fn startAtDate(&self, date: &NSDate);
216
217 #[unsafe(method(invalidate))]
221 #[unsafe(method_family = none)]
222 pub unsafe fn invalidate(&self);
223
224 #[cfg(all(feature = "WKInterfaceDevice", feature = "block2"))]
225 #[unsafe(method(notifyUserWithHaptic:repeatHandler:))]
237 #[unsafe(method_family = none)]
238 pub unsafe fn notifyUserWithHaptic_repeatHandler(
239 &self,
240 r#type: WKHapticType,
241 repeat_handler: Option<
242 &block2::DynBlock<dyn Fn(NonNull<WKHapticType>) -> NSTimeInterval>,
243 >,
244 );
245 );
246}
247
248impl WKExtendedRuntimeSession {
250 extern_methods!(
251 #[unsafe(method(init))]
252 #[unsafe(method_family = init)]
253 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
254
255 #[unsafe(method(new))]
256 #[unsafe(method_family = new)]
257 pub unsafe fn new() -> Retained<Self>;
258 );
259}
260
261extern_protocol!(
262 pub unsafe trait WKExtendedRuntimeSessionDelegate: NSObjectProtocol {
264 #[unsafe(method(extendedRuntimeSession:didInvalidateWithReason:error:))]
273 #[unsafe(method_family = none)]
274 unsafe fn extendedRuntimeSession_didInvalidateWithReason_error(
275 &self,
276 extended_runtime_session: &WKExtendedRuntimeSession,
277 reason: WKExtendedRuntimeSessionInvalidationReason,
278 error: Option<&NSError>,
279 );
280
281 #[unsafe(method(extendedRuntimeSessionDidStart:))]
285 #[unsafe(method_family = none)]
286 unsafe fn extendedRuntimeSessionDidStart(
287 &self,
288 extended_runtime_session: &WKExtendedRuntimeSession,
289 );
290
291 #[unsafe(method(extendedRuntimeSessionWillExpire:))]
296 #[unsafe(method_family = none)]
297 unsafe fn extendedRuntimeSessionWillExpire(
298 &self,
299 extended_runtime_session: &WKExtendedRuntimeSession,
300 );
301 }
302);