Mercurial > projects > dstep
diff dstep/foundation/NSProxy.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/NSProxy.d Mon Aug 03 15:31:48 2009 +0200 +++ b/dstep/foundation/NSProxy.d Sun Jan 03 22:06:11 2010 +0100 @@ -8,27 +8,37 @@ import dstep.foundation.NSInvocation; import dstep.foundation.NSMethodSignature; +import dstep.foundation.NSObjCRuntime; import dstep.foundation.NSObject; +import dstep.foundation.NSString; +import dstep.foundation.NSZone; import dstep.objc.bridge.Bridge; -import dstep.objc.objc : id; +import dstep.objc.bridge.Wrapper; +import dstep.objc.objc; +import dstep.objc.runtime; -class NSProxy : INSObject +class NSProxy : ObjcWrapper, INSObject { - mixin ObjcWrap; + mixin (ObjcWrap); + + this () + { + super(typeof(this).alloc.init.objcObject); + } - static Object alloc () + typeof(this) init () { - return invokeObjcSelfClass!(Object, "alloc"); + return invokeObjcSelf!(typeof(this), "init"); } static Object allocWithZone (NSZone* zone) { - return invokeObjcSelfClass!(Object, "allocWithZone:", NSZone*)(zone); + return invokeObjcSuperClass!(Object, "allocWithZone:", NSZone*)(zone); } - static Class class_ () + static Class class_static () { - return invokeObjcSelfClass!(Class, "class"); + return invokeObjcSuperClass!(Class, "class"); } void forwardInvocation (NSInvocation invocation) @@ -58,7 +68,7 @@ static bool respondsToSelector (SEL aSelector) { - return invokeObjcSelfClass!(bool, "respondsToSelector:", SEL)(aSelector); + return invokeObjcSuperClass!(bool, "respondsToSelector:", SEL)(aSelector); } bool isEqual (Object object) @@ -150,10 +160,5 @@ { return invokeObjcSelf!(NSUInteger, "retainCount"); } - - NSString description () - { - return invokeObjcSelf!(NSString, "description"); - } }