Mercurial > projects > dstep
diff dstep/foundation/NSXMLElement.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 diff
--- a/dstep/foundation/NSXMLElement.d Mon Aug 03 15:31:48 2009 +0200 +++ b/dstep/foundation/NSXMLElement.d Sun Jan 03 22:06:11 2010 +0100 @@ -6,16 +6,29 @@ */ module dstep.foundation.NSXMLElement; +import dstep.foundation.NSArray; import dstep.foundation.NSDictionary; +import dstep.foundation.NSError; import dstep.foundation.NSEnumerator; -import dstep.foundation.NSMutableArray; +import dstep.foundation.NSObjCRuntime; +import dstep.foundation.NSString; import dstep.foundation.NSXMLNode; import dstep.objc.bridge.Bridge; -import dstep.objc.objc : id; +import dstep.objc.objc; class NSXMLElement : NSXMLNode { - mixin ObjcWrap; + mixin (ObjcWrap); + + this () + { + super(typeof(this).alloc.init.objcObject); + } + + typeof(this) init () + { + return invokeObjcSelf!(typeof(this), "init"); + } Object initWithName (NSString name) { @@ -24,31 +37,14 @@ this (NSString name) { - objcObject = Bridge.invokeObjcClassMethod!(id, "alloc")(objcClass); - id result = Bridge.invokeObjcMethod!(id, "initWithName:", NSString)(objcObject, name); - - if (result) - objcObject = ret; - - dObject = this; + typeof(this).alloc.initWithName(name); } - Object initWithName (NSString name, NSString URI) + Object initWithName_URL (NSString name, NSString URI) { return invokeObjcSelf!(Object, "initWithName:URI:", NSString, NSString)(name, URI); } - this (NSString name, NSString URI) - { - objcObject = Bridge.invokeObjcClassMethod!(id, "alloc")(objcClass); - id result = Bridge.invokeObjcMethod!(id, "initWithName:URI:", NSString, NSString)(objcObject, name, URI); - - if (result) - objcObject = ret; - - dObject = this; - } - Object initWithName (NSString name, NSString string) { return invokeObjcSelf!(Object, "initWithName:stringValue:", NSString, NSString)(name, string); @@ -56,29 +52,23 @@ this (NSString name, NSString string) { - objcObject = Bridge.invokeObjcClassMethod!(id, "alloc")(objcClass); - id result = Bridge.invokeObjcMethod!(id, "initWithName:stringValue:", NSString, NSString)(objcObject, name, string); - - if (result) - objcObject = ret; - - dObject = this; + typeof(this).alloc.initWithName(name, string); } - Object initWithXMLString (NSString string, NSError** error) + Object initWithXMLString (NSString string, ref NSError error) { - return invokeObjcSelf!(Object, "initWithXMLString:error:", NSString, NSError**)(string, error); + id err = error ? new objc_object : null; + Object result = invokeObjcSelf!(Object, "initWithXMLString:error:", NSString, id*)(string, &err); + + if (err) + error = new NSError(err); + + return result; } - this (NSString string, NSError** error) + this (NSString string, ref NSError error) { - objcObject = Bridge.invokeObjcClassMethod!(id, "alloc")(objcClass); - id result = Bridge.invokeObjcMethod!(id, "initWithXMLString:error:", NSString, NSError**)(objcObject, string, error); - - if (result) - objcObject = ret; - - dObject = this; + typeof(this).alloc.initWithXMLString(string, error); } NSArray elementsForName (NSString name)