ns_string_wrapper! {
#[derive(Ord, PartialOrd, Eq, PartialEq)]
pub wrapper NSErrorDomain;
}
macro_rules! domain {
(
$(#[$docs:meta])+
$fn:ident $value:literal
) => {
$(#[$docs])+
#[inline]
#[doc(alias = $value)]
pub fn $fn() -> &'static NSErrorDomain {
extern "C" {
#[link_name = $value]
static VALUE: &'static NSErrorDomain;
}
unsafe { VALUE }
}
};
}
impl NSErrorDomain {
domain! {
cocoa "NSCocoaErrorDomain"
}
domain! {
posix "NSPOSIXErrorDomain"
}
domain! {
os_status "NSOSStatusErrorDomain"
}
domain! {
mach "NSMachErrorDomain"
}
domain! {
ns_net_services "NSNetServicesErrorDomain"
}
domain! {
stream_socks "NSStreamSOCKSErrorDomain"
}
domain! {
stream_socket_ssl "NSStreamSocketSSLErrorDomain"
}
domain! {
ns_url "NSURLErrorDomain"
}
domain! {
ns_xml_parser "NSXMLParserErrorDomain"
}
}
#[cfg(feature = "ui_kit")]
impl NSErrorDomain {
domain! {
ui_document_browser "UIDocumentBrowserErrorDomain"
}
domain! {
ui_guided_access "UIGuidedAccessErrorDomain"
}
domain! {
ui_print "UIPrintErrorDomain"
}
domain! {
ui_scene "UISceneErrorDomain"
}
}