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");
-	}
 }