diff dstep/foundation/NSObjCRuntime.d @ 14:89f3c3ef1fd2

Added the Foundation framework
author Jacob Carlborg <doob@me.com>
date Mon, 03 Aug 2009 15:23:15 +0200
parents
children 19885b43130e
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dstep/foundation/NSObjCRuntime.d	Mon Aug 03 15:23:15 2009 +0200
@@ -0,0 +1,88 @@
+/**
+ * Copyright: Copyright (c) 2009 Jacob Carlborg.
+ * Authors: Jacob Carlborg
+ * Version: Initial created: Aug 3, 2009 
+ * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0)
+ */
+module dstep.foundation.NSObjCRuntime;
+
+import dstep.AvailabilityMacros;
+import dstep.foundation.NSString;
+import dstep.foundation.Protocol;
+import dstep.limits;
+import dstep.objc.bridge.Bridge;
+import dstep.objc.objc : id;
+import dstep.objc.objc;
+import dstep.stdarg;
+import dstep.stdint;
+
+import bindings = dstep.foundation.NSObjCRuntime_bindings;
+
+alias int NSInteger;
+alias uint NSUInteger;
+alias NSInteger NSComparisonResult;
+
+extern (C)
+{
+	extern
+	{
+		double NSFoundationVersionNumber;
+	}
+}
+
+enum _NSComparisonResult 
+{
+	NSOrderedAscending = -1,
+	NSOrderedSame,
+	NSOrderedDescending
+}
+
+enum
+{
+	NSNotFound = 2147483647L
+}
+
+NSString NSStringFromSelector (SEL aSelector)
+{
+	return Bridge.invokeObjcFunction!(NSString, bindings.NSStringFromSelector, SEL)(aSelector);
+}
+
+SEL NSSelectorFromString (NSString aSelectorName)
+{
+	return Bridge.invokeObjcFunction!(SEL, bindings.NSSelectorFromString, NSString)(aSelectorName);
+}
+
+NSString NSStringFromClass (Class aClass)
+{
+	return Bridge.invokeObjcFunction!(NSString, bindings.NSStringFromClass, Class)(aClass);
+}
+
+Class NSClassFromString (NSString aClassName)
+{
+	return Bridge.invokeObjcFunction!(Class, bindings.NSClassFromString, NSString)(aClassName);
+}
+
+NSString NSStringFromProtocol (Protocol proto)
+{
+	return Bridge.invokeObjcFunction!(NSString, bindings.NSStringFromProtocol, Protocol)(proto);
+}
+
+Protocol NSProtocolFromString (NSString namestr)
+{
+	return Bridge.invokeObjcFunction!(Protocol, bindings.NSProtocolFromString, NSString)(namestr);
+}
+
+void NSLog (NSString format, ...)
+{
+	return Bridge.invokeObjcFunction!(void, bindings.NSLog, NSString)(format);
+}
+
+void NSLogv (NSString format, char* args)
+{
+	return Bridge.invokeObjcFunction!(void, bindings.NSLogv, NSString, char*)(format, args);
+}
+
+extern (C)
+{
+	char* NSGetSizeAndAlignment (char* typePtr, NSUInteger* sizep, NSUInteger* alignp);
+}
\ No newline at end of file