//! This file has been automatically generated by `objc2`'s `header-translator`.
//! DO NOT EDIT
use objc2::__framework_prelude::*;

use crate::*;

// NS_OPTIONS
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct NSXMLNodeOptions(pub NSUInteger);
bitflags::bitflags! {
    impl NSXMLNodeOptions: NSUInteger {
        #[doc(alias = "NSXMLNodeOptionsNone")]
        const None = 0;
        const NSXMLNodeIsCDATA = 1<<0;
        const NSXMLNodeExpandEmptyElement = 1<<1;
        const NSXMLNodeCompactEmptyElement = 1<<2;
        const NSXMLNodeUseSingleQuotes = 1<<3;
        const NSXMLNodeUseDoubleQuotes = 1<<4;
        const NSXMLNodeNeverEscapeContents = 1<<5;
        const NSXMLDocumentTidyHTML = 1<<9;
        const NSXMLDocumentTidyXML = 1<<10;
        const NSXMLDocumentValidate = 1<<13;
        const NSXMLNodeLoadExternalEntitiesAlways = 1<<14;
        const NSXMLNodeLoadExternalEntitiesSameOriginOnly = 1<<15;
        const NSXMLNodeLoadExternalEntitiesNever = 1<<19;
        const NSXMLDocumentXInclude = 1<<16;
        const NSXMLNodePrettyPrint = 1<<17;
        const NSXMLDocumentIncludeContentTypeDeclaration = 1<<18;
        const NSXMLNodePreserveNamespaceOrder = 1<<20;
        const NSXMLNodePreserveAttributeOrder = 1<<21;
        const NSXMLNodePreserveEntities = 1<<22;
        const NSXMLNodePreservePrefixes = 1<<23;
        const NSXMLNodePreserveCDATA = 1<<24;
        const NSXMLNodePreserveWhitespace = 1<<25;
        const NSXMLNodePreserveDTD = 1<<26;
        const NSXMLNodePreserveCharacterReferences = 1<<27;
        const NSXMLNodePromoteSignificantWhitespace = 1<<28;
        const NSXMLNodePreserveEmptyElements = NSXMLNodeOptions::NSXMLNodeExpandEmptyElement.0|NSXMLNodeOptions::NSXMLNodeCompactEmptyElement.0;
        const NSXMLNodePreserveQuotes = NSXMLNodeOptions::NSXMLNodeUseSingleQuotes.0|NSXMLNodeOptions::NSXMLNodeUseDoubleQuotes.0;
        const NSXMLNodePreserveAll = NSXMLNodeOptions::NSXMLNodePreserveNamespaceOrder.0|NSXMLNodeOptions::NSXMLNodePreserveAttributeOrder.0|NSXMLNodeOptions::NSXMLNodePreserveEntities.0|NSXMLNodeOptions::NSXMLNodePreservePrefixes.0|NSXMLNodeOptions::NSXMLNodePreserveCDATA.0|NSXMLNodeOptions::NSXMLNodePreserveEmptyElements.0|NSXMLNodeOptions::NSXMLNodePreserveQuotes.0|NSXMLNodeOptions::NSXMLNodePreserveWhitespace.0|NSXMLNodeOptions::NSXMLNodePreserveDTD.0|NSXMLNodeOptions::NSXMLNodePreserveCharacterReferences.0|0xFFF00000;
    }
}

unsafe impl Encode for NSXMLNodeOptions {
    const ENCODING: Encoding = NSUInteger::ENCODING;
}

unsafe impl RefEncode for NSXMLNodeOptions {
    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
