use objc2::__framework_prelude::*;
use crate::*;
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct NSXMLDocumentContentKind(pub NSUInteger);
impl NSXMLDocumentContentKind {
pub const NSXMLDocumentXMLKind: Self = Self(0);
pub const NSXMLDocumentXHTMLKind: Self = Self(1);
pub const NSXMLDocumentHTMLKind: Self = Self(2);
pub const NSXMLDocumentTextKind: Self = Self(3);
}
unsafe impl Encode for NSXMLDocumentContentKind {
const ENCODING: Encoding = NSUInteger::ENCODING;
}
unsafe impl RefEncode for NSXMLDocumentContentKind {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
#[cfg(feature = "NSXMLNode")]
pub struct NSXMLDocument;
#[cfg(feature = "NSXMLNode")]
unsafe impl ClassType for NSXMLDocument {
#[inherits(NSObject)]
type Super = NSXMLNode;
type Mutability = InteriorMutable;
}
);
#[cfg(all(feature = "NSObject", feature = "NSXMLNode"))]
unsafe impl NSCopying for NSXMLDocument {}
#[cfg(feature = "NSXMLNode")]
unsafe impl NSObjectProtocol for NSXMLDocument {}
extern_methods!(
#[cfg(feature = "NSXMLNode")]
unsafe impl NSXMLDocument {
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
#[cfg(all(
feature = "NSError",
feature = "NSString",
feature = "NSXMLNodeOptions"
))]
#[method_id(@__retain_semantics Init initWithXMLString:options:error:_)]
pub unsafe fn initWithXMLString_options_error(
this: Allocated<Self>,
string: &NSString,
mask: NSXMLNodeOptions,
) -> Result<Retained<Self>, Retained<NSError>>;
#[cfg(all(feature = "NSError", feature = "NSURL", feature = "NSXMLNodeOptions"))]
#[method_id(@__retain_semantics Init initWithContentsOfURL:options:error:_)]
pub unsafe fn initWithContentsOfURL_options_error(
this: Allocated<Self>,
url: &NSURL,
mask: NSXMLNodeOptions,
) -> Result<Retained<Self>, Retained<NSError>>;
#[cfg(all(feature = "NSData", feature = "NSError", feature = "NSXMLNodeOptions"))]
#[method_id(@__retain_semantics Init initWithData:options:error:_)]
pub unsafe fn initWithData_options_error(
this: Allocated<Self>,
data: &NSData,
mask: NSXMLNodeOptions,
) -> Result<Retained<Self>, Retained<NSError>>;
#[cfg(feature = "NSXMLElement")]
#[method_id(@__retain_semantics Init initWithRootElement:)]
pub unsafe fn initWithRootElement(
this: Allocated<Self>,
element: Option<&NSXMLElement>,
) -> Retained<Self>;
#[method(replacementClassForClass:)]
pub unsafe fn replacementClassForClass(cls: &AnyClass) -> &'static AnyClass;
#[cfg(feature = "NSString")]
#[method_id(@__retain_semantics Other characterEncoding)]
pub unsafe fn characterEncoding(&self) -> Option<Retained<NSString>>;
#[cfg(feature = "NSString")]
#[method(setCharacterEncoding:)]
pub unsafe fn setCharacterEncoding(&self, character_encoding: Option<&NSString>);
#[cfg(feature = "NSString")]
#[method_id(@__retain_semantics Other version)]
pub unsafe fn version(&self) -> Option<Retained<NSString>>;
#[cfg(feature = "NSString")]
#[method(setVersion:)]
pub unsafe fn setVersion(&self, version: Option<&NSString>);
#[method(isStandalone)]
pub unsafe fn isStandalone(&self) -> bool;
#[method(setStandalone:)]
pub unsafe fn setStandalone(&self, standalone: bool);
#[method(documentContentKind)]
pub unsafe fn documentContentKind(&self) -> NSXMLDocumentContentKind;
#[method(setDocumentContentKind:)]
pub unsafe fn setDocumentContentKind(
&self,
document_content_kind: NSXMLDocumentContentKind,
);
#[cfg(feature = "NSString")]
#[method_id(@__retain_semantics Other MIMEType)]
pub unsafe fn MIMEType(&self) -> Option<Retained<NSString>>;
#[cfg(feature = "NSString")]
#[method(setMIMEType:)]
pub unsafe fn setMIMEType(&self, mime_type: Option<&NSString>);
#[cfg(feature = "NSXMLDTD")]
#[method_id(@__retain_semantics Other DTD)]
pub unsafe fn DTD(&self) -> Option<Retained<NSXMLDTD>>;
#[cfg(feature = "NSXMLDTD")]
#[method(setDTD:)]
pub unsafe fn setDTD(&self, dtd: Option<&NSXMLDTD>);
#[cfg(feature = "NSXMLElement")]
#[method(setRootElement:)]
pub unsafe fn setRootElement(&self, root: &NSXMLElement);
#[cfg(feature = "NSXMLElement")]
#[method_id(@__retain_semantics Other rootElement)]
pub unsafe fn rootElement(&self) -> Option<Retained<NSXMLElement>>;
#[method(insertChild:atIndex:)]
pub unsafe fn insertChild_atIndex(&self, child: &NSXMLNode, index: NSUInteger);
#[cfg(feature = "NSArray")]
#[method(insertChildren:atIndex:)]
pub unsafe fn insertChildren_atIndex(
&self,
children: &NSArray<NSXMLNode>,
index: NSUInteger,
);
#[method(removeChildAtIndex:)]
pub unsafe fn removeChildAtIndex(&self, index: NSUInteger);
#[cfg(feature = "NSArray")]
#[method(setChildren:)]
pub unsafe fn setChildren(&self, children: Option<&NSArray<NSXMLNode>>);
#[method(addChild:)]
pub unsafe fn addChild(&self, child: &NSXMLNode);
#[method(replaceChildAtIndex:withNode:)]
pub unsafe fn replaceChildAtIndex_withNode(&self, index: NSUInteger, node: &NSXMLNode);
#[cfg(feature = "NSData")]
#[method_id(@__retain_semantics Other XMLData)]
pub unsafe fn XMLData(&self) -> Retained<NSData>;
#[cfg(all(feature = "NSData", feature = "NSXMLNodeOptions"))]
#[method_id(@__retain_semantics Other XMLDataWithOptions:)]
pub unsafe fn XMLDataWithOptions(&self, options: NSXMLNodeOptions) -> Retained<NSData>;
#[cfg(all(
feature = "NSData",
feature = "NSDictionary",
feature = "NSError",
feature = "NSString"
))]
#[method_id(@__retain_semantics Other objectByApplyingXSLT:arguments:error:_)]
pub unsafe fn objectByApplyingXSLT_arguments_error(
&self,
xslt: &NSData,
arguments: Option<&NSDictionary<NSString, NSString>>,
) -> Result<Retained<AnyObject>, Retained<NSError>>;
#[cfg(all(feature = "NSDictionary", feature = "NSError", feature = "NSString"))]
#[method_id(@__retain_semantics Other objectByApplyingXSLTString:arguments:error:_)]
pub unsafe fn objectByApplyingXSLTString_arguments_error(
&self,
xslt: &NSString,
arguments: Option<&NSDictionary<NSString, NSString>>,
) -> Result<Retained<AnyObject>, Retained<NSError>>;
#[cfg(all(
feature = "NSDictionary",
feature = "NSError",
feature = "NSString",
feature = "NSURL"
))]
#[method_id(@__retain_semantics Other objectByApplyingXSLTAtURL:arguments:error:_)]
pub unsafe fn objectByApplyingXSLTAtURL_arguments_error(
&self,
xslt_url: &NSURL,
argument: Option<&NSDictionary<NSString, NSString>>,
) -> Result<Retained<AnyObject>, Retained<NSError>>;
#[cfg(feature = "NSError")]
#[method(validateAndReturnError:_)]
pub unsafe fn validateAndReturnError(&self) -> Result<(), Retained<NSError>>;
}
);
extern_methods!(
#[cfg(feature = "NSXMLNode")]
unsafe impl NSXMLDocument {
#[method_id(@__retain_semantics Init initWithKind:)]
pub unsafe fn initWithKind(this: Allocated<Self>, kind: NSXMLNodeKind) -> Retained<Self>;
#[cfg(feature = "NSXMLNodeOptions")]
#[method_id(@__retain_semantics Init initWithKind:options:)]
pub unsafe fn initWithKind_options(
this: Allocated<Self>,
kind: NSXMLNodeKind,
options: NSXMLNodeOptions,
) -> Retained<Self>;
}
);
extern_methods!(
#[cfg(feature = "NSXMLNode")]
unsafe impl NSXMLDocument {
#[method_id(@__retain_semantics New new)]
pub unsafe fn new() -> Retained<Self>;
}
);