use objc2::__framework_prelude::*;
use objc2_foundation::*;
#[cfg(feature = "objc2-symbols")]
use objc2_symbols::*;
use crate::*;
#[cfg(feature = "block2")]
pub type UISymbolEffectCompletion =
*mut block2::Block<dyn Fn(NonNull<UISymbolEffectCompletionContext>)>;
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct UISymbolEffectCompletionContext;
unsafe impl ClassType for UISymbolEffectCompletionContext {
type Super = NSObject;
type Mutability = MainThreadOnly;
}
);
unsafe impl NSObjectProtocol for UISymbolEffectCompletionContext {}
extern_methods!(
unsafe impl UISymbolEffectCompletionContext {
#[method(isFinished)]
pub unsafe fn isFinished(&self) -> bool;
#[method_id(@__retain_semantics Other sender)]
pub unsafe fn sender(&self) -> Option<Retained<AnyObject>>;
#[cfg(feature = "objc2-symbols")]
#[method_id(@__retain_semantics Other effect)]
pub unsafe fn effect(&self) -> Option<Retained<NSSymbolEffect>>;
#[cfg(feature = "objc2-symbols")]
#[method_id(@__retain_semantics Other contentTransition)]
pub unsafe fn contentTransition(&self) -> Option<Retained<NSSymbolContentTransition>>;
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
#[method_id(@__retain_semantics New new)]
pub unsafe fn new(mtm: MainThreadMarker) -> Retained<Self>;
}
);