Mercurial > projects > dstep
diff dstep/foundation/NSXMLParser.d @ 14:89f3c3ef1fd2
Added the Foundation framework
author | Jacob Carlborg <doob@me.com> |
---|---|
date | Mon, 03 Aug 2009 15:23:15 +0200 |
parents | |
children | 19885b43130e |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dstep/foundation/NSXMLParser.d Mon Aug 03 15:23:15 2009 +0200 @@ -0,0 +1,265 @@ +/** + * Copyright: Copyright (c) 2009 Jacob Carlborg. + * Authors: Jacob Carlborg + * Version: Initial created: Aug 3, 2009 + * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0) + */ +module dstep.foundation.NSXMLParser; + +import dstep.foundation.NSData; +import dstep.foundation.NSDictionary; +import dstep.foundation.NSError; +import dstep.foundation.NSObject; +import dstep.foundation.NSString; +import dstep.foundation.NSURL; +import dstep.objc.bridge.Bridge; +import dstep.objc.objc : id; + +import bindings = dstep.foundation.NSXMLParser_bindings; + +alias NSInteger NSXMLParserError; + +const NSString NSXMLParserErrorDomain; + +enum +{ + NSXMLParserInternalError = 1, + NSXMLParserOutOfMemoryError = 2, + NSXMLParserDocumentStartError = 3, + NSXMLParserEmptyDocumentError = 4, + NSXMLParserPrematureDocumentEndError = 5, + NSXMLParserInvalidHexCharacterRefError = 6, + NSXMLParserInvalidDecimalCharacterRefError = 7, + NSXMLParserInvalidCharacterRefError = 8, + NSXMLParserInvalidCharacterError = 9, + NSXMLParserCharacterRefAtEOFError = 10, + NSXMLParserCharacterRefInPrologError = 11, + NSXMLParserCharacterRefInEpilogError = 12, + NSXMLParserCharacterRefInDTDError = 13, + NSXMLParserEntityRefAtEOFError = 14, + NSXMLParserEntityRefInPrologError = 15, + NSXMLParserEntityRefInEpilogError = 16, + NSXMLParserEntityRefInDTDError = 17, + NSXMLParserParsedEntityRefAtEOFError = 18, + NSXMLParserParsedEntityRefInPrologError = 19, + NSXMLParserParsedEntityRefInEpilogError = 20, + NSXMLParserParsedEntityRefInInternalSubsetError = 21, + NSXMLParserEntityReferenceWithoutNameError = 22, + NSXMLParserEntityReferenceMissingSemiError = 23, + NSXMLParserParsedEntityRefNoNameError = 24, + NSXMLParserParsedEntityRefMissingSemiError = 25, + NSXMLParserUndeclaredEntityError = 26, + NSXMLParserUnparsedEntityError = 28, + NSXMLParserEntityIsExternalError = 29, + NSXMLParserEntityIsParameterError = 30, + NSXMLParserUnknownEncodingError = 31, + NSXMLParserEncodingNotSupportedError = 32, + NSXMLParserStringNotStartedError = 33, + NSXMLParserStringNotClosedError = 34, + NSXMLParserNamespaceDeclarationError = 35, + NSXMLParserEntityNotStartedError = 36, + NSXMLParserEntityNotFinishedError = 37, + NSXMLParserLessThanSymbolInAttributeError = 38, + NSXMLParserAttributeNotStartedError = 39, + NSXMLParserAttributeNotFinishedError = 40, + NSXMLParserAttributeHasNoValueError = 41, + NSXMLParserAttributeRedefinedError = 42, + NSXMLParserLiteralNotStartedError = 43, + NSXMLParserLiteralNotFinishedError = 44, + NSXMLParserCommentNotFinishedError = 45, + NSXMLParserProcessingInstructionNotStartedError = 46, + NSXMLParserProcessingInstructionNotFinishedError = 47, + NSXMLParserNotationNotStartedError = 48, + NSXMLParserNotationNotFinishedError = 49, + NSXMLParserAttributeListNotStartedError = 50, + NSXMLParserAttributeListNotFinishedError = 51, + NSXMLParserMixedContentDeclNotStartedError = 52, + NSXMLParserMixedContentDeclNotFinishedError = 53, + NSXMLParserElementContentDeclNotStartedError = 54, + NSXMLParserElementContentDeclNotFinishedError = 55, + NSXMLParserXMLDeclNotStartedError = 56, + NSXMLParserXMLDeclNotFinishedError = 57, + NSXMLParserConditionalSectionNotStartedError = 58, + NSXMLParserConditionalSectionNotFinishedError = 59, + NSXMLParserExternalSubsetNotFinishedError = 60, + NSXMLParserDOCTYPEDeclNotFinishedError = 61, + NSXMLParserMisplacedCDATAEndStringError = 62, + NSXMLParserCDATANotFinishedError = 63, + NSXMLParserMisplacedXMLDeclarationError = 64, + NSXMLParserSpaceRequiredError = 65, + NSXMLParserSeparatorRequiredError = 66, + NSXMLParserNMTOKENRequiredError = 67, + NSXMLParserNAMERequiredError = 68, + NSXMLParserPCDATARequiredError = 69, + NSXMLParserURIRequiredError = 70, + NSXMLParserPublicIdentifierRequiredError = 71, + NSXMLParserLTRequiredError = 72, + NSXMLParserGTRequiredError = 73, + NSXMLParserLTSlashRequiredError = 74, + NSXMLParserEqualExpectedError = 75, + NSXMLParserTagNameMismatchError = 76, + NSXMLParserUnfinishedTagError = 77, + NSXMLParserStandaloneValueError = 78, + NSXMLParserInvalidEncodingNameError = 79, + NSXMLParserCommentContainsDoubleHyphenError = 80, + NSXMLParserInvalidEncodingError = 81, + NSXMLParserExternalStandaloneEntityError = 82, + NSXMLParserInvalidConditionalSectionError = 83, + NSXMLParserEntityValueRequiredError = 84, + NSXMLParserNotWellBalancedError = 85, + NSXMLParserExtraContentError = 86, + NSXMLParserInvalidCharacterInEntityError = 87, + NSXMLParserParsedEntityRefInInternalError = 88, + NSXMLParserEntityRefLoopError = 89, + NSXMLParserEntityBoundaryError = 90, + NSXMLParserInvalidURIError = 91, + NSXMLParserURIFragmentError = 92, + NSXMLParserNoDTDError = 94, + NSXMLParserDelegateAbortedParseError = 512 +} + +static this () +{ + NSXMLParserErrorDomain = new NSString(bindings.NSXMLParserErrorDomain); +} + +class NSXMLParser : NSObject +{ + mixin ObjcWrap; + mixin TNSXMLParserLocatorAdditions; + + Object initWithContentsOfURL (NSURL url) + { + return invokeObjcSelf!(Object, "initWithContentsOfURL:", NSURL)(url); + } + + this (NSURL url) + { + objcObject = Bridge.invokeObjcClassMethod!(id, "alloc")(objcClass); + id result = Bridge.invokeObjcMethod!(id, "initWithContentsOfURL:", NSURL)(objcObject, url); + + if (result) + objcObject = ret; + + dObject = this; + } + + Object initWithData (NSData data) + { + return invokeObjcSelf!(Object, "initWithData:", NSData)(data); + } + + this (NSData data) + { + objcObject = Bridge.invokeObjcClassMethod!(id, "alloc")(objcClass); + id result = Bridge.invokeObjcMethod!(id, "initWithData:", NSData)(objcObject, data); + + if (result) + objcObject = ret; + + dObject = this; + } + + Object delegate_ () + { + return invokeObjcSelf!(Object, "delegate"); + } + + void setDelegate (Object delegate_) + { + return invokeObjcSelf!(void, "setDelegate:", Object)(delegate_); + } + + void setShouldProcessNamespaces (bool shouldProcessNamespaces) + { + return invokeObjcSelf!(void, "setShouldProcessNamespaces:", bool)(shouldProcessNamespaces); + } + + void setShouldReportNamespacePrefixes (bool shouldReportNamespacePrefixes) + { + return invokeObjcSelf!(void, "setShouldReportNamespacePrefixes:", bool)(shouldReportNamespacePrefixes); + } + + void setShouldResolveExternalEntities (bool shouldResolveExternalEntities) + { + return invokeObjcSelf!(void, "setShouldResolveExternalEntities:", bool)(shouldResolveExternalEntities); + } + + bool shouldProcessNamespaces () + { + return invokeObjcSelf!(bool, "shouldProcessNamespaces"); + } + + bool shouldReportNamespacePrefixes () + { + return invokeObjcSelf!(bool, "shouldReportNamespacePrefixes"); + } + + bool shouldResolveExternalEntities () + { + return invokeObjcSelf!(bool, "shouldResolveExternalEntities"); + } + + bool parse () + { + return invokeObjcSelf!(bool, "parse"); + } + + void abortParsing () + { + return invokeObjcSelf!(void, "abortParsing"); + } + + NSError parserError () + { + return invokeObjcSelf!(NSError, "parserError"); + } +} + +template TNSXMLParserDelegateEventAdditions () +{ + void parserDidStartDocument (NSXMLParser parser); + void parserDidEndDocument (NSXMLParser parser); + void parser (NSXMLParser parser, NSString name, NSString publicID, NSString systemID); + void parser (NSXMLParser parser, NSString name, NSString publicID, NSString systemID, NSString notationName); + void parser (NSXMLParser parser, NSString attributeName, NSString elementName, NSString type, NSString defaultValue); + void parser (NSXMLParser parser, NSString elementName, NSString model); + void parser (NSXMLParser parser, NSString name, NSString value); + void parser (NSXMLParser parser, NSString name, NSString publicID, NSString systemID); + void parser (NSXMLParser parser, NSString elementName, NSString namespaceURI, NSString qName, NSDictionary attributeDict); + void parser (NSXMLParser parser, NSString elementName, NSString namespaceURI, NSString qName); + void parser (NSXMLParser parser, NSString prefix, NSString namespaceURI); + void parser (NSXMLParser parser, NSString prefix); + void parser (NSXMLParser parser, NSString string); + void parser (NSXMLParser parser, NSString whitespaceString); + void parser (NSXMLParser parser, NSString target, NSString data); + void parser (NSXMLParser parser, NSString comment); + void parser (NSXMLParser parser, NSData CDATABlock); + NSData parser (NSXMLParser parser, NSString name, NSString systemID); + void parser (NSXMLParser parser, NSError parseError); + void parser (NSXMLParser parser, NSError validationError); +} + +template TNSXMLParserLocatorAdditions () +{ + NSString publicID () + { + return invokeObjcSelf!(NSString, "publicID"); + } + + NSString systemID () + { + return invokeObjcSelf!(NSString, "systemID"); + } + + NSInteger lineNumber () + { + return invokeObjcSelf!(NSInteger, "lineNumber"); + } + + NSInteger columnNumber () + { + return invokeObjcSelf!(NSInteger, "columnNumber"); + } +} +