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:))]
185 #[unsafe(method_family = none)]
186 pub unsafe fn setDelegate(
187 &self,
188 delegate: Option<&ProtocolObject<dyn WKExtendedRuntimeSessionDelegate>>,
189 );
190
191 #[unsafe(method(state))]
193 #[unsafe(method_family = none)]
194 pub unsafe fn state(&self) -> WKExtendedRuntimeSessionState;
195
196 #[unsafe(method(expirationDate))]
201 #[unsafe(method_family = none)]
202 pub unsafe fn expirationDate(&self) -> Option<Retained<NSDate>>;
203
204 #[unsafe(method(start))]
206 #[unsafe(method_family = none)]
207 pub unsafe fn start(&self);
208
209 #[unsafe(method(startAtDate:))]
213 #[unsafe(method_family = none)]
214 pub unsafe fn startAtDate(&self, date: &NSDate);
215
216 #[unsafe(method(invalidate))]
220 #[unsafe(method_family = none)]
221 pub unsafe fn invalidate(&self);
222
223 #[cfg(all(feature = "WKInterfaceDevice", feature = "block2"))]
224 #[unsafe(method(notifyUserWithHaptic:repeatHandler:))]
236 #[unsafe(method_family = none)]
237 pub unsafe fn notifyUserWithHaptic_repeatHandler(
238 &self,
239 r#type: WKHapticType,
240 repeat_handler: Option<
241 &block2::DynBlock<dyn Fn(NonNull<WKHapticType>) -> NSTimeInterval>,
242 >,
243 );
244 );
245}
246
247impl WKExtendedRuntimeSession {
249 extern_methods!(
250 #[unsafe(method(init))]
251 #[unsafe(method_family = init)]
252 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
253
254 #[unsafe(method(new))]
255 #[unsafe(method_family = new)]
256 pub unsafe fn new() -> Retained<Self>;
257 );
258}
259
260extern_protocol!(
261 pub unsafe trait WKExtendedRuntimeSessionDelegate: NSObjectProtocol {
263 #[unsafe(method(extendedRuntimeSession:didInvalidateWithReason:error:))]
272 #[unsafe(method_family = none)]
273 unsafe fn extendedRuntimeSession_didInvalidateWithReason_error(
274 &self,
275 extended_runtime_session: &WKExtendedRuntimeSession,
276 reason: WKExtendedRuntimeSessionInvalidationReason,
277 error: Option<&NSError>,
278 );
279
280 #[unsafe(method(extendedRuntimeSessionDidStart:))]
284 #[unsafe(method_family = none)]
285 unsafe fn extendedRuntimeSessionDidStart(
286 &self,
287 extended_runtime_session: &WKExtendedRuntimeSession,
288 );
289
290 #[unsafe(method(extendedRuntimeSessionWillExpire:))]
295 #[unsafe(method_family = none)]
296 unsafe fn extendedRuntimeSessionWillExpire(
297 &self,
298 extended_runtime_session: &WKExtendedRuntimeSession,
299 );
300 }
301);