Mercurial > projects > dstep
comparison 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 |
comparison
equal
deleted
inserted
replaced
15:7ff919f595d5 | 16:19885b43130e |
---|---|
7 module dstep.foundation.NSXMLParser; | 7 module dstep.foundation.NSXMLParser; |
8 | 8 |
9 import dstep.foundation.NSData; | 9 import dstep.foundation.NSData; |
10 import dstep.foundation.NSDictionary; | 10 import dstep.foundation.NSDictionary; |
11 import dstep.foundation.NSError; | 11 import dstep.foundation.NSError; |
12 import dstep.foundation.NSObjCRuntime; | |
12 import dstep.foundation.NSObject; | 13 import dstep.foundation.NSObject; |
13 import dstep.foundation.NSString; | 14 import dstep.foundation.NSString; |
14 import dstep.foundation.NSURL; | 15 import dstep.foundation.NSURL; |
15 import dstep.objc.bridge.Bridge; | 16 import dstep.objc.bridge.Bridge; |
16 import dstep.objc.objc : id; | 17 import dstep.objc.objc; |
18 | |
19 | |
17 | 20 |
18 import bindings = dstep.foundation.NSXMLParser_bindings; | 21 import bindings = dstep.foundation.NSXMLParser_bindings; |
19 | 22 |
20 alias NSInteger NSXMLParserError; | 23 alias NSInteger NSXMLParserError; |
21 | 24 |
22 const NSString NSXMLParserErrorDomain; | 25 private NSString NSXMLParserErrorDomain_; |
26 | |
27 NSString NSXMLParserErrorDomain () | |
28 { | |
29 if (NSXMLParserErrorDomain_) | |
30 return NSXMLParserErrorDomain_; | |
31 | |
32 return NSXMLParserErrorDomain_ = new NSString(bindings.NSXMLParserErrorDomain); | |
33 } | |
23 | 34 |
24 enum | 35 enum |
25 { | 36 { |
26 NSXMLParserInternalError = 1, | 37 NSXMLParserInternalError = 1, |
27 NSXMLParserOutOfMemoryError = 2, | 38 NSXMLParserOutOfMemoryError = 2, |
116 NSXMLParserURIFragmentError = 92, | 127 NSXMLParserURIFragmentError = 92, |
117 NSXMLParserNoDTDError = 94, | 128 NSXMLParserNoDTDError = 94, |
118 NSXMLParserDelegateAbortedParseError = 512 | 129 NSXMLParserDelegateAbortedParseError = 512 |
119 } | 130 } |
120 | 131 |
121 static this () | 132 const TNSXMLParserDelegateEventAdditions = ` |
122 { | 133 |
123 NSXMLParserErrorDomain = new NSString(bindings.NSXMLParserErrorDomain); | 134 void parserDidStartDocument (NSXMLParser parser) |
124 } | 135 { |
136 return invokeObjcSelf!(void, "parserDidStartDocument:", NSXMLParser)(parser); | |
137 } | |
138 | |
139 void parserDidEndDocument (NSXMLParser parser) | |
140 { | |
141 return invokeObjcSelf!(void, "parserDidEndDocument:", NSXMLParser)(parser); | |
142 } | |
143 | |
144 void parser (NSXMLParser parser, NSString name, NSString publicID, NSString systemID) | |
145 { | |
146 return invokeObjcSelf!(void, "parser:foundNotationDeclarationWithName:publicID:systemID:", NSXMLParser, NSString, NSString, NSString)(parser, name, publicID, systemID); | |
147 } | |
148 | |
149 void parser (NSXMLParser parser, NSString name, NSString publicID, NSString systemID, NSString notationName) | |
150 { | |
151 return invokeObjcSelf!(void, "parser:foundUnparsedEntityDeclarationWithName:publicID:systemID:notationName:", NSXMLParser, NSString, NSString, NSString, NSString)(parser, name, publicID, systemID, notationName); | |
152 } | |
153 | |
154 void parser_foundAttributeDeclarationWithName_forElement_type_defaultValue (NSXMLParser parser, NSString attributeName, NSString elementName, NSString type, NSString defaultValue) | |
155 { | |
156 return invokeObjcSelf!(void, "parser:foundAttributeDeclarationWithName:forElement:type:defaultValue:", NSXMLParser, NSString, NSString, NSString, NSString)(parser, attributeName, elementName, type, defaultValue); | |
157 } | |
158 | |
159 void parser (NSXMLParser parser, NSString elementName, NSString model) | |
160 { | |
161 return invokeObjcSelf!(void, "parser:foundElementDeclarationWithName:model:", NSXMLParser, NSString, NSString)(parser, elementName, model); | |
162 } | |
163 | |
164 void parser_foundInternalEntityDeclarationWithName_value (NSXMLParser parser, NSString name, NSString value) | |
165 { | |
166 return invokeObjcSelf!(void, "parser:foundInternalEntityDeclarationWithName:value:", NSXMLParser, NSString, NSString)(parser, name, value); | |
167 } | |
168 | |
169 void parser_foundExternalEntityDeclarationWithName_publicID_systemID (NSXMLParser parser, NSString name, NSString publicID, NSString systemID) | |
170 { | |
171 return invokeObjcSelf!(void, "parser:foundExternalEntityDeclarationWithName:publicID:systemID:", NSXMLParser, NSString, NSString, NSString)(parser, name, publicID, systemID); | |
172 } | |
173 | |
174 void parser (NSXMLParser parser, NSString elementName, NSString namespaceURI, NSString qName, NSDictionary attributeDict) | |
175 { | |
176 return invokeObjcSelf!(void, "parser:didStartElement:namespaceURI:qualifiedName:attributes:", NSXMLParser, NSString, NSString, NSString, NSDictionary)(parser, elementName, namespaceURI, qName, attributeDict); | |
177 } | |
178 | |
179 void parser_didEndElement_namespaceURI_qualifiedName (NSXMLParser parser, NSString elementName, NSString namespaceURI, NSString qName) | |
180 { | |
181 return invokeObjcSelf!(void, "parser:didEndElement:namespaceURI:qualifiedName:", NSXMLParser, NSString, NSString, NSString)(parser, elementName, namespaceURI, qName); | |
182 } | |
183 | |
184 void parser_didStartMappingPrefix_toURI (NSXMLParser parser, NSString prefix, NSString namespaceURI) | |
185 { | |
186 return invokeObjcSelf!(void, "parser:didStartMappingPrefix:toURI:", NSXMLParser, NSString, NSString)(parser, prefix, namespaceURI); | |
187 } | |
188 | |
189 void parser (NSXMLParser parser, NSString prefix) | |
190 { | |
191 return invokeObjcSelf!(void, "parser:didEndMappingPrefix:", NSXMLParser, NSString)(parser, prefix); | |
192 } | |
193 | |
194 void parser (NSXMLParser parser, NSString string) | |
195 { | |
196 return invokeObjcSelf!(void, "parser:foundCharacters:", NSXMLParser, NSString)(parser, string); | |
197 } | |
198 | |
199 void parser (NSXMLParser parser, NSString whitespaceString) | |
200 { | |
201 return invokeObjcSelf!(void, "parser:foundIgnorableWhitespace:", NSXMLParser, NSString)(parser, whitespaceString); | |
202 } | |
203 | |
204 void parser_foundProcessingInstructionWithTarget_data (NSXMLParser parser, NSString target, NSString data) | |
205 { | |
206 return invokeObjcSelf!(void, "parser:foundProcessingInstructionWithTarget:data", NSXMLParser, NSString, NSString)(parser, target, data); | |
207 } | |
208 | |
209 void parser (NSXMLParser parser, NSString comment) | |
210 { | |
211 return invokeObjcSelf!(void, "parser:foundComment:", NSXMLParser, NSString)(parser, comment); | |
212 } | |
213 | |
214 void parser (NSXMLParser parser, NSData CDATABlock) | |
215 { | |
216 return invokeObjcSelf!(void, "parser:foundCDATA:", NSXMLParser, NSData)(parser, CDATABlock); | |
217 } | |
218 | |
219 NSData parser_resolveExternalEntityName_systemID (NSXMLParser parser, NSString name, NSString systemID) | |
220 { | |
221 return invokeObjcSelf!(NSData, "parser:resolveExternalEntityName:systemID:", NSXMLParser, NSString, NSString)(parser, name, systemID); | |
222 } | |
223 | |
224 void parser (NSXMLParser parser, NSError parseError) | |
225 { | |
226 return invokeObjcSelf!(void, "parser:parseErrorOccurred:", NSXMLParser, NSError)(parser, parseError); | |
227 } | |
228 | |
229 void parser_validationErrorOccurred (NSXMLParser parser, NSError validationError) | |
230 { | |
231 return invokeObjcSelf!(void, "parser:validationErrorOccurred:", NSXMLParser, NSError)(parser, validationError); | |
232 } | |
233 | |
234 //mixin ObjcBindMethod!(parserDidStartDocument, "parserDidStartDocument:"); | |
235 //mixin ObjcBindMethod!(parserDidEndDocument, "parserDidEndDocument:"); | |
236 //mixin ObjcBindMethod!(parser, "parser:foundNotationDeclarationWithName:publicID:systemID:"); | |
237 //mixin ObjcBindMethod!(parser, "parser:foundUnparsedEntityDeclarationWithName:publicID:systemID:notationName:"); | |
238 //mixin ObjcBindMethod!(parser_foundAttributeDeclarationWithName_forElement_type_defaultValue, "parser:foundAttributeDeclarationWithName:forElement:type:defaultValue:"); | |
239 //mixin ObjcBindMethod!(parser, "parser:foundElementDeclarationWithName:model:"); | |
240 //mixin ObjcBindMethod!(parser_foundInternalEntityDeclarationWithName_value, "parser:foundInternalEntityDeclarationWithName:value:"); | |
241 //mixin ObjcBindMethod!(parser_foundExternalEntityDeclarationWithName_publicID_systemID, "parser:foundExternalEntityDeclarationWithName:publicID:systemID:"); | |
242 //mixin ObjcBindMethod!(parser, "parser:didStartElement:namespaceURI:qualifiedName:attributes:"); | |
243 //mixin ObjcBindMethod!(parser_didEndElement_namespaceURI_qualifiedName, "parser:didEndElement:namespaceURI:qualifiedName:"); | |
244 //mixin ObjcBindMethod!(parser_didStartMappingPrefix_toURI, "parser:didStartMappingPrefix:toURI:"); | |
245 //mixin ObjcBindMethod!(parser, "parser:didEndMappingPrefix:"); | |
246 //mixin ObjcBindMethod!(parser, "parser:foundCharacters:"); | |
247 //mixin ObjcBindMethod!(parser, "parser:foundIgnorableWhitespace:"); | |
248 //mixin ObjcBindMethod!(parser_foundProcessingInstructionWithTarget_data, "parser:foundProcessingInstructionWithTarget:data"); | |
249 //mixin ObjcBindMethod!(parser, "parser:foundComment:"); | |
250 //mixin ObjcBindMethod!(parser, "parser:foundCDATA:"); | |
251 //mixin ObjcBindMethod!(parser_resolveExternalEntityName_systemID, "parser:resolveExternalEntityName:systemID:"); | |
252 //mixin ObjcBindMethod!(parser, "parser:parseErrorOccurred:"); | |
253 //mixin ObjcBindMethod!(parser, "parser:validationErrorOccurred:"); | |
254 `; | |
255 | |
256 const TNSXMLParserLocatorAdditions = ` | |
257 | |
258 NSString publicID () | |
259 { | |
260 return invokeObjcSelf!(NSString, "publicID"); | |
261 } | |
262 | |
263 NSString systemID () | |
264 { | |
265 return invokeObjcSelf!(NSString, "systemID"); | |
266 } | |
267 | |
268 NSInteger lineNumber () | |
269 { | |
270 return invokeObjcSelf!(NSInteger, "lineNumber"); | |
271 } | |
272 | |
273 NSInteger columnNumber () | |
274 { | |
275 return invokeObjcSelf!(NSInteger, "columnNumber"); | |
276 } | |
277 `; | |
125 | 278 |
126 class NSXMLParser : NSObject | 279 class NSXMLParser : NSObject |
127 { | 280 { |
128 mixin ObjcWrap; | 281 mixin (ObjcWrap); |
129 mixin TNSXMLParserLocatorAdditions; | 282 |
283 this () | |
284 { | |
285 super(typeof(this).alloc.init.objcObject); | |
286 } | |
287 | |
288 typeof(this) init () | |
289 { | |
290 return invokeObjcSelf!(typeof(this), "init"); | |
291 } | |
130 | 292 |
131 Object initWithContentsOfURL (NSURL url) | 293 Object initWithContentsOfURL (NSURL url) |
132 { | 294 { |
133 return invokeObjcSelf!(Object, "initWithContentsOfURL:", NSURL)(url); | 295 return invokeObjcSelf!(Object, "initWithContentsOfURL:", NSURL)(url); |
134 } | 296 } |
135 | 297 |
136 this (NSURL url) | 298 this (NSURL url) |
137 { | 299 { |
138 objcObject = Bridge.invokeObjcClassMethod!(id, "alloc")(objcClass); | 300 typeof(this).alloc.initWithContentsOfURL(url); |
139 id result = Bridge.invokeObjcMethod!(id, "initWithContentsOfURL:", NSURL)(objcObject, url); | |
140 | |
141 if (result) | |
142 objcObject = ret; | |
143 | |
144 dObject = this; | |
145 } | 301 } |
146 | 302 |
147 Object initWithData (NSData data) | 303 Object initWithData (NSData data) |
148 { | 304 { |
149 return invokeObjcSelf!(Object, "initWithData:", NSData)(data); | 305 return invokeObjcSelf!(Object, "initWithData:", NSData)(data); |
150 } | 306 } |
151 | 307 |
152 this (NSData data) | 308 this (NSData data) |
153 { | 309 { |
154 objcObject = Bridge.invokeObjcClassMethod!(id, "alloc")(objcClass); | 310 typeof(this).alloc.initWithData(data); |
155 id result = Bridge.invokeObjcMethod!(id, "initWithData:", NSData)(objcObject, data); | |
156 | |
157 if (result) | |
158 objcObject = ret; | |
159 | |
160 dObject = this; | |
161 } | 311 } |
162 | 312 |
163 Object delegate_ () | 313 Object delegate_ () |
164 { | 314 { |
165 return invokeObjcSelf!(Object, "delegate"); | 315 return invokeObjcSelf!(Object, "delegate"); |
212 | 362 |
213 NSError parserError () | 363 NSError parserError () |
214 { | 364 { |
215 return invokeObjcSelf!(NSError, "parserError"); | 365 return invokeObjcSelf!(NSError, "parserError"); |
216 } | 366 } |
367 | |
368 // TNSXMLParserLocatorAdditions | |
369 NSString publicID () | |
370 { | |
371 return invokeObjcSelf!(NSString, "publicID"); | |
372 } | |
373 | |
374 NSString systemID () | |
375 { | |
376 return invokeObjcSelf!(NSString, "systemID"); | |
377 } | |
378 | |
379 NSInteger lineNumber () | |
380 { | |
381 return invokeObjcSelf!(NSInteger, "lineNumber"); | |
382 } | |
383 | |
384 NSInteger columnNumber () | |
385 { | |
386 return invokeObjcSelf!(NSInteger, "columnNumber"); | |
387 } | |
217 } | 388 } |
218 | |
219 template TNSXMLParserDelegateEventAdditions () | |
220 { | |
221 void parserDidStartDocument (NSXMLParser parser); | |
222 void parserDidEndDocument (NSXMLParser parser); | |
223 void parser (NSXMLParser parser, NSString name, NSString publicID, NSString systemID); | |
224 void parser (NSXMLParser parser, NSString name, NSString publicID, NSString systemID, NSString notationName); | |
225 void parser (NSXMLParser parser, NSString attributeName, NSString elementName, NSString type, NSString defaultValue); | |
226 void parser (NSXMLParser parser, NSString elementName, NSString model); | |
227 void parser (NSXMLParser parser, NSString name, NSString value); | |
228 void parser (NSXMLParser parser, NSString name, NSString publicID, NSString systemID); | |
229 void parser (NSXMLParser parser, NSString elementName, NSString namespaceURI, NSString qName, NSDictionary attributeDict); | |
230 void parser (NSXMLParser parser, NSString elementName, NSString namespaceURI, NSString qName); | |
231 void parser (NSXMLParser parser, NSString prefix, NSString namespaceURI); | |
232 void parser (NSXMLParser parser, NSString prefix); | |
233 void parser (NSXMLParser parser, NSString string); | |
234 void parser (NSXMLParser parser, NSString whitespaceString); | |
235 void parser (NSXMLParser parser, NSString target, NSString data); | |
236 void parser (NSXMLParser parser, NSString comment); | |
237 void parser (NSXMLParser parser, NSData CDATABlock); | |
238 NSData parser (NSXMLParser parser, NSString name, NSString systemID); | |
239 void parser (NSXMLParser parser, NSError parseError); | |
240 void parser (NSXMLParser parser, NSError validationError); | |
241 } | |
242 | |
243 template TNSXMLParserLocatorAdditions () | |
244 { | |
245 NSString publicID () | |
246 { | |
247 return invokeObjcSelf!(NSString, "publicID"); | |
248 } | |
249 | |
250 NSString systemID () | |
251 { | |
252 return invokeObjcSelf!(NSString, "systemID"); | |
253 } | |
254 | |
255 NSInteger lineNumber () | |
256 { | |
257 return invokeObjcSelf!(NSInteger, "lineNumber"); | |
258 } | |
259 | |
260 NSInteger columnNumber () | |
261 { | |
262 return invokeObjcSelf!(NSInteger, "columnNumber"); | |
263 } | |
264 } | |
265 |