objc2_speech/generated/
SFSpeechRecognizer.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::*;
6use objc2_foundation::*;
7
8use crate::*;
9
10/// [Apple's documentation](https://developer.apple.com/documentation/speech/sfspeechrecognizerauthorizationstatus?language=objc)
11// NS_ENUM
12#[repr(transparent)]
13#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
14pub struct SFSpeechRecognizerAuthorizationStatus(pub NSInteger);
15impl SFSpeechRecognizerAuthorizationStatus {
16    #[doc(alias = "SFSpeechRecognizerAuthorizationStatusNotDetermined")]
17    pub const NotDetermined: Self = Self(0);
18    #[doc(alias = "SFSpeechRecognizerAuthorizationStatusDenied")]
19    pub const Denied: Self = Self(1);
20    #[doc(alias = "SFSpeechRecognizerAuthorizationStatusRestricted")]
21    pub const Restricted: Self = Self(2);
22    #[doc(alias = "SFSpeechRecognizerAuthorizationStatusAuthorized")]
23    pub const Authorized: Self = Self(3);
24}
25
26unsafe impl Encode for SFSpeechRecognizerAuthorizationStatus {
27    const ENCODING: Encoding = NSInteger::ENCODING;
28}
29
30unsafe impl RefEncode for SFSpeechRecognizerAuthorizationStatus {
31    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
32}
33
34extern_class!(
35    /// [Apple's documentation](https://developer.apple.com/documentation/speech/sfspeechrecognizer?language=objc)
36    #[unsafe(super(NSObject))]
37    #[derive(Debug, PartialEq, Eq, Hash)]
38    pub struct SFSpeechRecognizer;
39);
40
41unsafe impl NSObjectProtocol for SFSpeechRecognizer {}
42
43impl SFSpeechRecognizer {
44    extern_methods!(
45        #[unsafe(method(supportedLocales))]
46        #[unsafe(method_family = none)]
47        pub unsafe fn supportedLocales() -> Retained<NSSet<NSLocale>>;
48
49        #[unsafe(method(authorizationStatus))]
50        #[unsafe(method_family = none)]
51        pub unsafe fn authorizationStatus() -> SFSpeechRecognizerAuthorizationStatus;
52
53        #[cfg(feature = "block2")]
54        #[unsafe(method(requestAuthorization:))]
55        #[unsafe(method_family = none)]
56        pub unsafe fn requestAuthorization(
57            handler: &block2::Block<dyn Fn(SFSpeechRecognizerAuthorizationStatus)>,
58        );
59
60        #[unsafe(method(init))]
61        #[unsafe(method_family = init)]
62        pub unsafe fn init(this: Allocated<Self>) -> Option<Retained<Self>>;
63
64        #[unsafe(method(initWithLocale:))]
65        #[unsafe(method_family = init)]
66        pub unsafe fn initWithLocale(
67            this: Allocated<Self>,
68            locale: &NSLocale,
69        ) -> Option<Retained<Self>>;
70
71        #[unsafe(method(isAvailable))]
72        #[unsafe(method_family = none)]
73        pub unsafe fn isAvailable(&self) -> bool;
74
75        #[unsafe(method(locale))]
76        #[unsafe(method_family = none)]
77        pub unsafe fn locale(&self) -> Retained<NSLocale>;
78
79        #[unsafe(method(supportsOnDeviceRecognition))]
80        #[unsafe(method_family = none)]
81        pub unsafe fn supportsOnDeviceRecognition(&self) -> bool;
82
83        /// Setter for [`supportsOnDeviceRecognition`][Self::supportsOnDeviceRecognition].
84        #[unsafe(method(setSupportsOnDeviceRecognition:))]
85        #[unsafe(method_family = none)]
86        pub unsafe fn setSupportsOnDeviceRecognition(&self, supports_on_device_recognition: bool);
87
88        #[unsafe(method(delegate))]
89        #[unsafe(method_family = none)]
90        pub unsafe fn delegate(
91            &self,
92        ) -> Option<Retained<ProtocolObject<dyn SFSpeechRecognizerDelegate>>>;
93
94        /// This is a [weak property][objc2::topics::weak_property].
95        /// Setter for [`delegate`][Self::delegate].
96        #[unsafe(method(setDelegate:))]
97        #[unsafe(method_family = none)]
98        pub unsafe fn setDelegate(
99            &self,
100            delegate: Option<&ProtocolObject<dyn SFSpeechRecognizerDelegate>>,
101        );
102
103        #[cfg(feature = "SFSpeechRecognitionTaskHint")]
104        #[unsafe(method(defaultTaskHint))]
105        #[unsafe(method_family = none)]
106        pub unsafe fn defaultTaskHint(&self) -> SFSpeechRecognitionTaskHint;
107
108        #[cfg(feature = "SFSpeechRecognitionTaskHint")]
109        /// Setter for [`defaultTaskHint`][Self::defaultTaskHint].
110        #[unsafe(method(setDefaultTaskHint:))]
111        #[unsafe(method_family = none)]
112        pub unsafe fn setDefaultTaskHint(&self, default_task_hint: SFSpeechRecognitionTaskHint);
113
114        #[cfg(all(
115            feature = "SFSpeechRecognitionRequest",
116            feature = "SFSpeechRecognitionResult",
117            feature = "SFSpeechRecognitionTask",
118            feature = "block2"
119        ))]
120        #[unsafe(method(recognitionTaskWithRequest:resultHandler:))]
121        #[unsafe(method_family = none)]
122        pub unsafe fn recognitionTaskWithRequest_resultHandler(
123            &self,
124            request: &SFSpeechRecognitionRequest,
125            result_handler: &block2::Block<dyn Fn(*mut SFSpeechRecognitionResult, *mut NSError)>,
126        ) -> Retained<SFSpeechRecognitionTask>;
127
128        #[cfg(all(
129            feature = "SFSpeechRecognitionRequest",
130            feature = "SFSpeechRecognitionTask"
131        ))]
132        #[unsafe(method(recognitionTaskWithRequest:delegate:))]
133        #[unsafe(method_family = none)]
134        pub unsafe fn recognitionTaskWithRequest_delegate(
135            &self,
136            request: &SFSpeechRecognitionRequest,
137            delegate: &ProtocolObject<dyn SFSpeechRecognitionTaskDelegate>,
138        ) -> Retained<SFSpeechRecognitionTask>;
139
140        #[unsafe(method(queue))]
141        #[unsafe(method_family = none)]
142        pub unsafe fn queue(&self) -> Retained<NSOperationQueue>;
143
144        /// Setter for [`queue`][Self::queue].
145        #[unsafe(method(setQueue:))]
146        #[unsafe(method_family = none)]
147        pub unsafe fn setQueue(&self, queue: &NSOperationQueue);
148    );
149}
150
151/// Methods declared on superclass `NSObject`.
152impl SFSpeechRecognizer {
153    extern_methods!(
154        #[unsafe(method(new))]
155        #[unsafe(method_family = new)]
156        pub unsafe fn new() -> Retained<Self>;
157    );
158}
159
160extern_protocol!(
161    /// [Apple's documentation](https://developer.apple.com/documentation/speech/sfspeechrecognizerdelegate?language=objc)
162    pub unsafe trait SFSpeechRecognizerDelegate: NSObjectProtocol {
163        #[optional]
164        #[unsafe(method(speechRecognizer:availabilityDidChange:))]
165        #[unsafe(method_family = none)]
166        unsafe fn speechRecognizer_availabilityDidChange(
167            &self,
168            speech_recognizer: &SFSpeechRecognizer,
169            available: bool,
170        );
171    }
172);