Mercurial > projects > dstep
comparison dstep/foundation/NSXMLDTD.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 |
---|---|
4 * Version: Initial created: Aug 3, 2009 | 4 * Version: Initial created: Aug 3, 2009 |
5 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0) | 5 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0) |
6 */ | 6 */ |
7 module dstep.foundation.NSXMLDTD; | 7 module dstep.foundation.NSXMLDTD; |
8 | 8 |
9 import dstep.foundation.NSArray; | |
9 import dstep.foundation.NSData; | 10 import dstep.foundation.NSData; |
10 import dstep.foundation.NSMutableDictionary; | 11 import dstep.foundation.NSDictionary; |
12 import dstep.foundation.NSError; | |
13 import dstep.foundation.NSObjCRuntime; | |
14 import dstep.foundation.NSString; | |
15 import dstep.foundation.NSURL; | |
11 import dstep.foundation.NSXMLDTDNode; | 16 import dstep.foundation.NSXMLDTDNode; |
12 import dstep.foundation.NSXMLNode; | 17 import dstep.foundation.NSXMLNode; |
13 import dstep.objc.bridge.Bridge; | 18 import dstep.objc.bridge.Bridge; |
14 import dstep.objc.objc : id; | 19 import dstep.objc.objc; |
15 | 20 |
16 class NSXMLDTD : NSXMLNode | 21 class NSXMLDTD : NSXMLNode |
17 { | 22 { |
18 mixin ObjcWrap; | 23 mixin (ObjcWrap); |
19 | 24 |
20 Object initWithContentsOfURL (NSURL url, NSUInteger mask, NSError** error) | 25 this () |
21 { | 26 { |
22 return invokeObjcSelf!(Object, "initWithContentsOfURL:options:error:", NSURL, NSUInteger, NSError**)(url, mask, error); | 27 super(typeof(this).alloc.init.objcObject); |
28 } | |
29 | |
30 typeof(this) init () | |
31 { | |
32 return invokeObjcSelf!(typeof(this), "init"); | |
23 } | 33 } |
24 | 34 |
25 this (NSURL url, NSUInteger mask, NSError** error) | 35 Object initWithContentsOfURL (NSURL url, NSUInteger mask, ref NSError error) |
26 { | 36 { |
27 objcObject = Bridge.invokeObjcClassMethod!(id, "alloc")(objcClass); | 37 id err = error ? new objc_object : null; |
28 id result = Bridge.invokeObjcMethod!(id, "initWithContentsOfURL:options:error:", NSURL, NSUInteger, NSError**)(objcObject, url, mask, error); | 38 Object result = invokeObjcSelf!(Object, "initWithContentsOfURL:options:error:", NSURL, NSUInteger, id*)(url, mask, &err); |
29 | 39 |
30 if (result) | 40 if (err) |
31 objcObject = ret; | 41 error = new NSError(err); |
32 | 42 |
33 dObject = this; | 43 return result; |
34 } | 44 } |
35 | 45 |
36 Object initWithData (NSData data, NSUInteger mask, NSError** error) | 46 this (NSURL url, NSUInteger mask, ref NSError error) |
37 { | 47 { |
38 return invokeObjcSelf!(Object, "initWithData:options:error:", NSData, NSUInteger, NSError**)(data, mask, error); | 48 typeof(this).alloc.initWithContentsOfURL(url, mask, error); |
39 } | 49 } |
40 | 50 |
41 this (NSData data, NSUInteger mask, NSError** error) | 51 Object initWithData (NSData data, NSUInteger mask, ref NSError error) |
42 { | 52 { |
43 objcObject = Bridge.invokeObjcClassMethod!(id, "alloc")(objcClass); | 53 id err = error ? new objc_object : null; |
44 id result = Bridge.invokeObjcMethod!(id, "initWithData:options:error:", NSData, NSUInteger, NSError**)(objcObject, data, mask, error); | 54 Object result = invokeObjcSelf!(Object, "initWithData:options:error:", NSData, NSUInteger, id*)(data, mask, &err); |
55 | |
56 if (err) | |
57 error = new NSError(err); | |
58 | |
59 return result; | |
60 } | |
45 | 61 |
46 if (result) | 62 this (NSData data, NSUInteger mask, ref NSError error) |
47 objcObject = ret; | 63 { |
48 | 64 typeof(this).alloc.initWithData(data, mask, error); |
49 dObject = this; | |
50 } | 65 } |
51 | 66 |
52 void setPublicID (NSString publicID) | 67 void setPublicID (NSString publicID) |
53 { | 68 { |
54 return invokeObjcSelf!(void, "setPublicID:", NSString)(publicID); | 69 return invokeObjcSelf!(void, "setPublicID:", NSString)(publicID); |
119 return invokeObjcSelf!(NSXMLDTDNode, "attributeDeclarationForName:elementName:", NSString, NSString)(name, elementName); | 134 return invokeObjcSelf!(NSXMLDTDNode, "attributeDeclarationForName:elementName:", NSString, NSString)(name, elementName); |
120 } | 135 } |
121 | 136 |
122 static NSXMLDTDNode predefinedEntityDeclarationForName (NSString name) | 137 static NSXMLDTDNode predefinedEntityDeclarationForName (NSString name) |
123 { | 138 { |
124 return invokeObjcSelfClass!(NSXMLDTDNode, "predefinedEntityDeclarationForName:", NSString)(name); | 139 return invokeObjcSuperClass!(NSXMLDTDNode, "predefinedEntityDeclarationForName:", NSString)(name); |
125 } | 140 } |
126 } | 141 } |
127 | 142 |