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");
+	}
+}
+