use crate::common::*;
use crate::Foundation::*;
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct NSXMLElement;
unsafe impl ClassType for NSXMLElement {
#[inherits(NSObject)]
type Super = NSXMLNode;
}
);
extern_methods!(
unsafe impl NSXMLElement {
#[method_id(@__retain_semantics Init initWithName:)]
pub unsafe fn initWithName(
this: Option<Allocated<Self>>,
name: &NSString,
) -> Id<Self, Shared>;
#[method_id(@__retain_semantics Init initWithName:URI:)]
pub unsafe fn initWithName_URI(
this: Option<Allocated<Self>>,
name: &NSString,
URI: Option<&NSString>,
) -> Id<Self, Shared>;
#[method_id(@__retain_semantics Init initWithName:stringValue:)]
pub unsafe fn initWithName_stringValue(
this: Option<Allocated<Self>>,
name: &NSString,
string: Option<&NSString>,
) -> Id<Self, Shared>;
#[method_id(@__retain_semantics Init initWithXMLString:error:)]
pub unsafe fn initWithXMLString_error(
this: Option<Allocated<Self>>,
string: &NSString,
) -> Result<Id<Self, Shared>, Id<NSError, Shared>>;
#[method_id(@__retain_semantics Init initWithKind:options:)]
pub unsafe fn initWithKind_options(
this: Option<Allocated<Self>>,
kind: NSXMLNodeKind,
options: NSXMLNodeOptions,
) -> Id<Self, Shared>;
#[method_id(@__retain_semantics Other elementsForName:)]
pub unsafe fn elementsForName(&self, name: &NSString) -> Id<NSArray<NSXMLElement>, Shared>;
#[method_id(@__retain_semantics Other elementsForLocalName:URI:)]
pub unsafe fn elementsForLocalName_URI(
&self,
localName: &NSString,
URI: Option<&NSString>,
) -> Id<NSArray<NSXMLElement>, Shared>;
#[method(addAttribute:)]
pub unsafe fn addAttribute(&self, attribute: &NSXMLNode);
#[method(removeAttributeForName:)]
pub unsafe fn removeAttributeForName(&self, name: &NSString);
#[method_id(@__retain_semantics Other attributes)]
pub unsafe fn attributes(&self) -> Option<Id<NSArray<NSXMLNode>, Shared>>;
#[method(setAttributes:)]
pub unsafe fn setAttributes(&self, attributes: Option<&NSArray<NSXMLNode>>);
#[method(setAttributesWithDictionary:)]
pub unsafe fn setAttributesWithDictionary(
&self,
attributes: &NSDictionary<NSString, NSString>,
);
#[method_id(@__retain_semantics Other attributeForName:)]
pub unsafe fn attributeForName(&self, name: &NSString) -> Option<Id<NSXMLNode, Shared>>;
#[method_id(@__retain_semantics Other attributeForLocalName:URI:)]
pub unsafe fn attributeForLocalName_URI(
&self,
localName: &NSString,
URI: Option<&NSString>,
) -> Option<Id<NSXMLNode, Shared>>;
#[method(addNamespace:)]
pub unsafe fn addNamespace(&self, aNamespace: &NSXMLNode);
#[method(removeNamespaceForPrefix:)]
pub unsafe fn removeNamespaceForPrefix(&self, name: &NSString);
#[method_id(@__retain_semantics Other namespaces)]
pub unsafe fn namespaces(&self) -> Option<Id<NSArray<NSXMLNode>, Shared>>;
#[method(setNamespaces:)]
pub unsafe fn setNamespaces(&self, namespaces: Option<&NSArray<NSXMLNode>>);
#[method_id(@__retain_semantics Other namespaceForPrefix:)]
pub unsafe fn namespaceForPrefix(&self, name: &NSString) -> Option<Id<NSXMLNode, Shared>>;
#[method_id(@__retain_semantics Other resolveNamespaceForName:)]
pub unsafe fn resolveNamespaceForName(
&self,
name: &NSString,
) -> Option<Id<NSXMLNode, Shared>>;
#[method_id(@__retain_semantics Other resolvePrefixForNamespaceURI:)]
pub unsafe fn resolvePrefixForNamespaceURI(
&self,
namespaceURI: &NSString,
) -> Option<Id<NSString, Shared>>;
#[method(insertChild:atIndex:)]
pub unsafe fn insertChild_atIndex(&self, child: &NSXMLNode, index: NSUInteger);
#[method(insertChildren:atIndex:)]
pub unsafe fn insertChildren_atIndex(
&self,
children: &NSArray<NSXMLNode>,
index: NSUInteger,
);
#[method(removeChildAtIndex:)]
pub unsafe fn removeChildAtIndex(&self, index: NSUInteger);
#[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);
#[method(normalizeAdjacentTextNodesPreservingCDATA:)]
pub unsafe fn normalizeAdjacentTextNodesPreservingCDATA(&self, preserve: bool);
}
);
extern_methods!(
unsafe impl NSXMLElement {
#[method(setAttributesAsDictionary:)]
pub unsafe fn setAttributesAsDictionary(&self, attributes: &NSDictionary);
}
);
extern_methods!(
unsafe impl NSXMLElement {
#[method_id(@__retain_semantics Init initWithKind:)]
pub unsafe fn initWithKind(
this: Option<Allocated<Self>>,
kind: NSXMLNodeKind,
) -> Id<Self, Shared>;
}
);