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