Mercurial > projects > dstep
view 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 source
/** * 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); }