Mercurial > projects > dstep
view dstep/foundation/NSXMLParser.d @ 16:19885b43130e
Huge update, the bridge actually works now
author | Jacob Carlborg <doob@me.com> |
---|---|
date | Sun, 03 Jan 2010 22:06:11 +0100 |
parents | 89f3c3ef1fd2 |
children | b9de51448c6b |
line wrap: on
line source
/** * 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.NSObjCRuntime; import dstep.foundation.NSObject; import dstep.foundation.NSString; import dstep.foundation.NSURL; import dstep.objc.bridge.Bridge; import dstep.objc.objc; import bindings = dstep.foundation.NSXMLParser_bindings; alias NSInteger NSXMLParserError; private NSString NSXMLParserErrorDomain_; NSString NSXMLParserErrorDomain () { if (NSXMLParserErrorDomain_) return NSXMLParserErrorDomain_; return NSXMLParserErrorDomain_ = new NSString(bindings.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 } const TNSXMLParserDelegateEventAdditions = ` void parserDidStartDocument (NSXMLParser parser) { return invokeObjcSelf!(void, "parserDidStartDocument:", NSXMLParser)(parser); } void parserDidEndDocument (NSXMLParser parser) { return invokeObjcSelf!(void, "parserDidEndDocument:", NSXMLParser)(parser); } void parser (NSXMLParser parser, NSString name, NSString publicID, NSString systemID) { return invokeObjcSelf!(void, "parser:foundNotationDeclarationWithName:publicID:systemID:", NSXMLParser, NSString, NSString, NSString)(parser, name, publicID, systemID); } void parser (NSXMLParser parser, NSString name, NSString publicID, NSString systemID, NSString notationName) { return invokeObjcSelf!(void, "parser:foundUnparsedEntityDeclarationWithName:publicID:systemID:notationName:", NSXMLParser, NSString, NSString, NSString, NSString)(parser, name, publicID, systemID, notationName); } void parser_foundAttributeDeclarationWithName_forElement_type_defaultValue (NSXMLParser parser, NSString attributeName, NSString elementName, NSString type, NSString defaultValue) { return invokeObjcSelf!(void, "parser:foundAttributeDeclarationWithName:forElement:type:defaultValue:", NSXMLParser, NSString, NSString, NSString, NSString)(parser, attributeName, elementName, type, defaultValue); } void parser (NSXMLParser parser, NSString elementName, NSString model) { return invokeObjcSelf!(void, "parser:foundElementDeclarationWithName:model:", NSXMLParser, NSString, NSString)(parser, elementName, model); } void parser_foundInternalEntityDeclarationWithName_value (NSXMLParser parser, NSString name, NSString value) { return invokeObjcSelf!(void, "parser:foundInternalEntityDeclarationWithName:value:", NSXMLParser, NSString, NSString)(parser, name, value); } void parser_foundExternalEntityDeclarationWithName_publicID_systemID (NSXMLParser parser, NSString name, NSString publicID, NSString systemID) { return invokeObjcSelf!(void, "parser:foundExternalEntityDeclarationWithName:publicID:systemID:", NSXMLParser, NSString, NSString, NSString)(parser, name, publicID, systemID); } void parser (NSXMLParser parser, NSString elementName, NSString namespaceURI, NSString qName, NSDictionary attributeDict) { return invokeObjcSelf!(void, "parser:didStartElement:namespaceURI:qualifiedName:attributes:", NSXMLParser, NSString, NSString, NSString, NSDictionary)(parser, elementName, namespaceURI, qName, attributeDict); } void parser_didEndElement_namespaceURI_qualifiedName (NSXMLParser parser, NSString elementName, NSString namespaceURI, NSString qName) { return invokeObjcSelf!(void, "parser:didEndElement:namespaceURI:qualifiedName:", NSXMLParser, NSString, NSString, NSString)(parser, elementName, namespaceURI, qName); } void parser_didStartMappingPrefix_toURI (NSXMLParser parser, NSString prefix, NSString namespaceURI) { return invokeObjcSelf!(void, "parser:didStartMappingPrefix:toURI:", NSXMLParser, NSString, NSString)(parser, prefix, namespaceURI); } void parser (NSXMLParser parser, NSString prefix) { return invokeObjcSelf!(void, "parser:didEndMappingPrefix:", NSXMLParser, NSString)(parser, prefix); } void parser (NSXMLParser parser, NSString string) { return invokeObjcSelf!(void, "parser:foundCharacters:", NSXMLParser, NSString)(parser, string); } void parser (NSXMLParser parser, NSString whitespaceString) { return invokeObjcSelf!(void, "parser:foundIgnorableWhitespace:", NSXMLParser, NSString)(parser, whitespaceString); } void parser_foundProcessingInstructionWithTarget_data (NSXMLParser parser, NSString target, NSString data) { return invokeObjcSelf!(void, "parser:foundProcessingInstructionWithTarget:data", NSXMLParser, NSString, NSString)(parser, target, data); } void parser (NSXMLParser parser, NSString comment) { return invokeObjcSelf!(void, "parser:foundComment:", NSXMLParser, NSString)(parser, comment); } void parser (NSXMLParser parser, NSData CDATABlock) { return invokeObjcSelf!(void, "parser:foundCDATA:", NSXMLParser, NSData)(parser, CDATABlock); } NSData parser_resolveExternalEntityName_systemID (NSXMLParser parser, NSString name, NSString systemID) { return invokeObjcSelf!(NSData, "parser:resolveExternalEntityName:systemID:", NSXMLParser, NSString, NSString)(parser, name, systemID); } void parser (NSXMLParser parser, NSError parseError) { return invokeObjcSelf!(void, "parser:parseErrorOccurred:", NSXMLParser, NSError)(parser, parseError); } void parser_validationErrorOccurred (NSXMLParser parser, NSError validationError) { return invokeObjcSelf!(void, "parser:validationErrorOccurred:", NSXMLParser, NSError)(parser, validationError); } //mixin ObjcBindMethod!(parserDidStartDocument, "parserDidStartDocument:"); //mixin ObjcBindMethod!(parserDidEndDocument, "parserDidEndDocument:"); //mixin ObjcBindMethod!(parser, "parser:foundNotationDeclarationWithName:publicID:systemID:"); //mixin ObjcBindMethod!(parser, "parser:foundUnparsedEntityDeclarationWithName:publicID:systemID:notationName:"); //mixin ObjcBindMethod!(parser_foundAttributeDeclarationWithName_forElement_type_defaultValue, "parser:foundAttributeDeclarationWithName:forElement:type:defaultValue:"); //mixin ObjcBindMethod!(parser, "parser:foundElementDeclarationWithName:model:"); //mixin ObjcBindMethod!(parser_foundInternalEntityDeclarationWithName_value, "parser:foundInternalEntityDeclarationWithName:value:"); //mixin ObjcBindMethod!(parser_foundExternalEntityDeclarationWithName_publicID_systemID, "parser:foundExternalEntityDeclarationWithName:publicID:systemID:"); //mixin ObjcBindMethod!(parser, "parser:didStartElement:namespaceURI:qualifiedName:attributes:"); //mixin ObjcBindMethod!(parser_didEndElement_namespaceURI_qualifiedName, "parser:didEndElement:namespaceURI:qualifiedName:"); //mixin ObjcBindMethod!(parser_didStartMappingPrefix_toURI, "parser:didStartMappingPrefix:toURI:"); //mixin ObjcBindMethod!(parser, "parser:didEndMappingPrefix:"); //mixin ObjcBindMethod!(parser, "parser:foundCharacters:"); //mixin ObjcBindMethod!(parser, "parser:foundIgnorableWhitespace:"); //mixin ObjcBindMethod!(parser_foundProcessingInstructionWithTarget_data, "parser:foundProcessingInstructionWithTarget:data"); //mixin ObjcBindMethod!(parser, "parser:foundComment:"); //mixin ObjcBindMethod!(parser, "parser:foundCDATA:"); //mixin ObjcBindMethod!(parser_resolveExternalEntityName_systemID, "parser:resolveExternalEntityName:systemID:"); //mixin ObjcBindMethod!(parser, "parser:parseErrorOccurred:"); //mixin ObjcBindMethod!(parser, "parser:validationErrorOccurred:"); `; const 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"); } `; class NSXMLParser : NSObject { mixin (ObjcWrap); this () { super(typeof(this).alloc.init.objcObject); } typeof(this) init () { return invokeObjcSelf!(typeof(this), "init"); } Object initWithContentsOfURL (NSURL url) { return invokeObjcSelf!(Object, "initWithContentsOfURL:", NSURL)(url); } this (NSURL url) { typeof(this).alloc.initWithContentsOfURL(url); } Object initWithData (NSData data) { return invokeObjcSelf!(Object, "initWithData:", NSData)(data); } this (NSData data) { typeof(this).alloc.initWithData(data); } 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"); } // 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"); } }