use objc2::__framework_prelude::*;
use objc2_foundation::*;
use crate::*;
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct NSSpeechRecognizer;
unsafe impl ClassType for NSSpeechRecognizer {
type Super = NSObject;
type Mutability = InteriorMutable;
}
);
unsafe impl NSObjectProtocol for NSSpeechRecognizer {}
extern_methods!(
unsafe impl NSSpeechRecognizer {
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Allocated<Self>) -> Option<Id<Self>>;
#[method(startListening)]
pub unsafe fn startListening(&self);
#[method(stopListening)]
pub unsafe fn stopListening(&self);
#[method_id(@__retain_semantics Other delegate)]
pub unsafe fn delegate(
&self,
mtm: MainThreadMarker,
) -> Option<Id<ProtocolObject<dyn NSSpeechRecognizerDelegate>>>;
#[method(setDelegate:)]
pub unsafe fn setDelegate(
&self,
delegate: Option<&ProtocolObject<dyn NSSpeechRecognizerDelegate>>,
);
#[method_id(@__retain_semantics Other commands)]
pub unsafe fn commands(&self) -> Option<Id<NSArray<NSString>>>;
#[method(setCommands:)]
pub unsafe fn setCommands(&self, commands: Option<&NSArray<NSString>>);
#[method_id(@__retain_semantics Other displayedCommandsTitle)]
pub unsafe fn displayedCommandsTitle(&self) -> Option<Id<NSString>>;
#[method(setDisplayedCommandsTitle:)]
pub unsafe fn setDisplayedCommandsTitle(&self, displayed_commands_title: Option<&NSString>);
#[method(listensInForegroundOnly)]
pub unsafe fn listensInForegroundOnly(&self) -> bool;
#[method(setListensInForegroundOnly:)]
pub unsafe fn setListensInForegroundOnly(&self, listens_in_foreground_only: bool);
#[method(blocksOtherRecognizers)]
pub unsafe fn blocksOtherRecognizers(&self) -> bool;
#[method(setBlocksOtherRecognizers:)]
pub unsafe fn setBlocksOtherRecognizers(&self, blocks_other_recognizers: bool);
}
);
extern_methods!(
unsafe impl NSSpeechRecognizer {
#[method_id(@__retain_semantics New new)]
pub unsafe fn new() -> Id<Self>;
}
);
extern_protocol!(
pub unsafe trait NSSpeechRecognizerDelegate:
NSObjectProtocol + IsMainThreadOnly
{
#[optional]
#[method(speechRecognizer:didRecognizeCommand:)]
unsafe fn speechRecognizer_didRecognizeCommand(
&self,
sender: &NSSpeechRecognizer,
command: &NSString,
);
}
unsafe impl ProtocolType for dyn NSSpeechRecognizerDelegate {}
);