use objc2::__framework_prelude::*;
use objc2_foundation::*;
use crate::*;
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct SNClassifySoundRequest;
unsafe impl ClassType for SNClassifySoundRequest {
type Super = NSObject;
type Mutability = InteriorMutable;
}
);
unsafe impl NSObjectProtocol for SNClassifySoundRequest {}
#[cfg(feature = "SNRequest")]
unsafe impl SNRequest for SNClassifySoundRequest {}
extern_methods!(
unsafe impl SNClassifySoundRequest {
#[method(overlapFactor)]
pub unsafe fn overlapFactor(&self) -> c_double;
#[method(setOverlapFactor:)]
pub unsafe fn setOverlapFactor(&self, overlap_factor: c_double);
#[cfg(feature = "SNTimeDurationConstraint")]
#[method_id(@__retain_semantics Other windowDurationConstraint)]
pub unsafe fn windowDurationConstraint(&self) -> Id<SNTimeDurationConstraint>;
#[method_id(@__retain_semantics Other knownClassifications)]
pub unsafe fn knownClassifications(&self) -> Id<NSArray<NSString>>;
#[cfg(feature = "SNTypes")]
#[method_id(@__retain_semantics Init initWithClassifierIdentifier:error:_)]
pub unsafe fn initWithClassifierIdentifier_error(
this: Allocated<Self>,
classifier_identifier: &SNClassifierIdentifier,
) -> Result<Id<Self>, Id<NSError>>;
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Allocated<Self>) -> Id<Self>;
#[method_id(@__retain_semantics New new)]
pub unsafe fn new() -> Id<Self>;
}
);