use objc2::__framework_prelude::*;
use crate::*;
extern "C" {
#[cfg(all(feature = "NSObjCRuntime", feature = "NSString"))]
pub static NSGenericException: &'static NSExceptionName;
}
extern "C" {
#[cfg(all(feature = "NSObjCRuntime", feature = "NSString"))]
pub static NSRangeException: &'static NSExceptionName;
}
extern "C" {
#[cfg(all(feature = "NSObjCRuntime", feature = "NSString"))]
pub static NSInvalidArgumentException: &'static NSExceptionName;
}
extern "C" {
#[cfg(all(feature = "NSObjCRuntime", feature = "NSString"))]
pub static NSInternalInconsistencyException: &'static NSExceptionName;
}
extern "C" {
#[cfg(all(feature = "NSObjCRuntime", feature = "NSString"))]
pub static NSMallocException: &'static NSExceptionName;
}
extern "C" {
#[cfg(all(feature = "NSObjCRuntime", feature = "NSString"))]
pub static NSObjectInaccessibleException: &'static NSExceptionName;
}
extern "C" {
#[cfg(all(feature = "NSObjCRuntime", feature = "NSString"))]
pub static NSObjectNotAvailableException: &'static NSExceptionName;
}
extern "C" {
#[cfg(all(feature = "NSObjCRuntime", feature = "NSString"))]
pub static NSDestinationInvalidException: &'static NSExceptionName;
}
extern "C" {
#[cfg(all(feature = "NSObjCRuntime", feature = "NSString"))]
pub static NSPortTimeoutException: &'static NSExceptionName;
}
extern "C" {
#[cfg(all(feature = "NSObjCRuntime", feature = "NSString"))]
pub static NSInvalidSendPortException: &'static NSExceptionName;
}
extern "C" {
#[cfg(all(feature = "NSObjCRuntime", feature = "NSString"))]
pub static NSInvalidReceivePortException: &'static NSExceptionName;
}
extern "C" {
#[cfg(all(feature = "NSObjCRuntime", feature = "NSString"))]
pub static NSPortSendException: &'static NSExceptionName;
}
extern "C" {
#[cfg(all(feature = "NSObjCRuntime", feature = "NSString"))]
pub static NSPortReceiveException: &'static NSExceptionName;
}
extern "C" {
#[cfg(all(feature = "NSObjCRuntime", feature = "NSString"))]
pub static NSOldStyleException: &'static NSExceptionName;
}
extern "C" {
#[cfg(all(feature = "NSObjCRuntime", feature = "NSString"))]
pub static NSInconsistentArchiveException: &'static NSExceptionName;
}
extern_class!(
#[derive(PartialEq, Eq, Hash)]
pub struct NSException;
unsafe impl ClassType for NSException {
type Super = NSObject;
type Mutability = InteriorMutable;
}
);
#[cfg(feature = "NSObject")]
unsafe impl NSCoding for NSException {}
#[cfg(feature = "NSObject")]
unsafe impl NSCopying for NSException {}
unsafe impl NSObjectProtocol for NSException {}
#[cfg(feature = "NSObject")]
unsafe impl NSSecureCoding for NSException {}
extern_methods!(
unsafe impl NSException {
#[cfg(all(
feature = "NSDictionary",
feature = "NSObjCRuntime",
feature = "NSString"
))]
#[method_id(@__retain_semantics Other exceptionWithName:reason:userInfo:)]
pub unsafe fn exceptionWithName_reason_userInfo(
name: &NSExceptionName,
reason: Option<&NSString>,
user_info: Option<&NSDictionary>,
) -> Retained<NSException>;
#[cfg(all(
feature = "NSDictionary",
feature = "NSObjCRuntime",
feature = "NSString"
))]
#[method_id(@__retain_semantics Init initWithName:reason:userInfo:)]
pub unsafe fn initWithName_reason_userInfo(
this: Allocated<Self>,
a_name: &NSExceptionName,
a_reason: Option<&NSString>,
a_user_info: Option<&NSDictionary>,
) -> Retained<Self>;
#[cfg(all(feature = "NSObjCRuntime", feature = "NSString"))]
#[method_id(@__retain_semantics Other name)]
pub fn name(&self) -> Retained<NSExceptionName>;
#[cfg(feature = "NSString")]
#[method_id(@__retain_semantics Other reason)]
pub fn reason(&self) -> Option<Retained<NSString>>;
#[cfg(feature = "NSDictionary")]
#[method_id(@__retain_semantics Other userInfo)]
pub fn userInfo(&self) -> Option<Retained<NSDictionary>>;
#[cfg(all(feature = "NSArray", feature = "NSValue"))]
#[method_id(@__retain_semantics Other callStackReturnAddresses)]
pub unsafe fn callStackReturnAddresses(&self) -> Retained<NSArray<NSNumber>>;
#[cfg(all(feature = "NSArray", feature = "NSString"))]
#[method_id(@__retain_semantics Other callStackSymbols)]
pub unsafe fn callStackSymbols(&self) -> Retained<NSArray<NSString>>;
}
);
extern_methods!(
unsafe impl NSException {
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
}
);
extern_methods!(
unsafe impl NSException {}
);
pub type NSUncaughtExceptionHandler = TodoFunction;
extern "C" {
pub fn NSGetUncaughtExceptionHandler() -> *mut NSUncaughtExceptionHandler;
}
extern "C" {
pub fn NSSetUncaughtExceptionHandler(_: *mut NSUncaughtExceptionHandler);
}
extern "C" {
#[cfg(feature = "NSString")]
pub static NSAssertionHandlerKey: &'static NSString;
}
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct NSAssertionHandler;
unsafe impl ClassType for NSAssertionHandler {
type Super = NSObject;
type Mutability = InteriorMutable;
}
);
unsafe impl NSObjectProtocol for NSAssertionHandler {}
extern_methods!(
unsafe impl NSAssertionHandler {
#[method_id(@__retain_semantics Other currentHandler)]
pub unsafe fn currentHandler() -> Retained<NSAssertionHandler>;
}
);
extern_methods!(
unsafe impl NSAssertionHandler {
#[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() -> Retained<Self>;
}
);