objc2_intents/generated/
INFocusStatusCenter.rs

1//! This file has been automatically generated by `objc2`'s `header-translator`.
2//! DO NOT EDIT
3use core::ffi::*;
4use core::ptr::NonNull;
5use objc2::__framework_prelude::*;
6
7use crate::*;
8
9/// [Apple's documentation](https://developer.apple.com/documentation/intents/infocusstatusauthorizationstatus?language=objc)
10// NS_ENUM
11#[repr(transparent)]
12#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
13pub struct INFocusStatusAuthorizationStatus(pub NSInteger);
14impl INFocusStatusAuthorizationStatus {
15    #[doc(alias = "INFocusStatusAuthorizationStatusNotDetermined")]
16    pub const NotDetermined: Self = Self(0);
17    #[doc(alias = "INFocusStatusAuthorizationStatusRestricted")]
18    pub const Restricted: Self = Self(1);
19    #[doc(alias = "INFocusStatusAuthorizationStatusDenied")]
20    pub const Denied: Self = Self(2);
21    #[doc(alias = "INFocusStatusAuthorizationStatusAuthorized")]
22    pub const Authorized: Self = Self(3);
23}
24
25unsafe impl Encode for INFocusStatusAuthorizationStatus {
26    const ENCODING: Encoding = NSInteger::ENCODING;
27}
28
29unsafe impl RefEncode for INFocusStatusAuthorizationStatus {
30    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
31}
32
33extern_class!(
34    /// [Apple's documentation](https://developer.apple.com/documentation/intents/infocusstatuscenter?language=objc)
35    #[unsafe(super(NSObject))]
36    #[derive(Debug, PartialEq, Eq, Hash)]
37    pub struct INFocusStatusCenter;
38);
39
40extern_conformance!(
41    unsafe impl NSObjectProtocol for INFocusStatusCenter {}
42);
43
44impl INFocusStatusCenter {
45    extern_methods!(
46        #[unsafe(method(defaultCenter))]
47        #[unsafe(method_family = none)]
48        pub unsafe fn defaultCenter() -> Retained<INFocusStatusCenter>;
49
50        #[cfg(feature = "INFocusStatus")]
51        #[unsafe(method(focusStatus))]
52        #[unsafe(method_family = none)]
53        pub unsafe fn focusStatus(&self) -> Retained<INFocusStatus>;
54
55        #[unsafe(method(authorizationStatus))]
56        #[unsafe(method_family = none)]
57        pub unsafe fn authorizationStatus(&self) -> INFocusStatusAuthorizationStatus;
58
59        #[cfg(feature = "block2")]
60        #[unsafe(method(requestAuthorizationWithCompletionHandler:))]
61        #[unsafe(method_family = none)]
62        pub unsafe fn requestAuthorizationWithCompletionHandler(
63            &self,
64            completion_handler: Option<&block2::DynBlock<dyn Fn(INFocusStatusAuthorizationStatus)>>,
65        );
66    );
67}
68
69/// Methods declared on superclass `NSObject`.
70impl INFocusStatusCenter {
71    extern_methods!(
72        #[unsafe(method(init))]
73        #[unsafe(method_family = init)]
74        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
75
76        #[unsafe(method(new))]
77        #[unsafe(method_family = new)]
78        pub unsafe fn new() -> Retained<Self>;
79    );
80}