diff dstep/foundation/NSObjCRuntime.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
line wrap: on
line diff
--- a/dstep/foundation/NSObjCRuntime.d	Mon Aug 03 15:31:48 2009 +0200
+++ b/dstep/foundation/NSObjCRuntime.d	Sun Jan 03 22:06:11 2010 +0100
@@ -6,20 +6,29 @@
  */
 module dstep.foundation.NSObjCRuntime;
 
-import dstep.AvailabilityMacros;
 import dstep.foundation.NSString;
-import dstep.foundation.Protocol;
-import dstep.limits;
+import dstep.foundation.NSZone;
+import dstep.internal.Version;
 import dstep.objc.bridge.Bridge;
-import dstep.objc.objc : id;
 import dstep.objc.objc;
-import dstep.stdarg;
-import dstep.stdint;
+
+
+import dstep.objc.runtime;
 
 import bindings = dstep.foundation.NSObjCRuntime_bindings;
 
-alias int NSInteger;
-alias uint NSUInteger;
+version (D_LP64)
+{
+	alias long NSInteger;
+	alias ulong NSUInteger;
+}
+
+else
+{
+	alias int NSInteger;
+	alias uint NSUInteger;
+}
+
 alias NSInteger NSComparisonResult;
 
 extern (C)
@@ -62,19 +71,19 @@
 	return Bridge.invokeObjcFunction!(Class, bindings.NSClassFromString, NSString)(aClassName);
 }
 
-NSString NSStringFromProtocol (Protocol proto)
+NSString NSStringFromProtocol (Protocol* proto)
 {
-	return Bridge.invokeObjcFunction!(NSString, bindings.NSStringFromProtocol, Protocol)(proto);
+	return Bridge.invokeObjcFunction!(NSString, bindings.NSStringFromProtocol, Protocol*)(proto);
 }
 
-Protocol NSProtocolFromString (NSString namestr)
+Protocol* NSProtocolFromString (NSString namestr)
 {
-	return Bridge.invokeObjcFunction!(Protocol, bindings.NSProtocolFromString, NSString)(namestr);
+	return Bridge.invokeObjcFunction!(Protocol*, bindings.NSProtocolFromString, NSString)(namestr);
 }
 
-void NSLog (NSString format, ...)
+void NSLog (ARGS...) (NSString format, ARGS args)
 {
-	return Bridge.invokeObjcFunction!(void, bindings.NSLog, NSString)(format);
+	return Bridge.invokeObjcFunction!(void, bindings.NSLog, NSString, ARGS)(format, args);
 }
 
 void NSLogv (NSString format, char* args)