Mercurial > projects > dstep
diff dstep/foundation/NSPathUtilities.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/NSPathUtilities.d Mon Aug 03 15:23:15 2009 +0200 @@ -0,0 +1,176 @@ +/** + * 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.NSPathUtilities; + +import dstep.foundation.NSArray; +import dstep.foundation.NSString; +import dstep.objc.bridge.Bridge; +import dstep.objc.objc : id; + +alias NSUInteger NSSearchPathDirectory; +alias NSUInteger NSSearchPathDomainMask; + +enum +{ + NSApplicationDirectory = 1, + NSDemoApplicationDirectory, + NSDeveloperApplicationDirectory, + NSAdminApplicationDirectory, + NSLibraryDirectory, + NSDeveloperDirectory, + NSUserDirectory, + NSDocumentationDirectory, + NSDocumentDirectory, + NSCoreServiceDirectory, + NSDesktopDirectory = 12, + NSCachesDirectory = 13, + NSApplicationSupportDirectory = 14, + NSDownloadsDirectory = 15, + NSAllApplicationsDirectory = 100, + NSAllLibrariesDirectory = 101 +} + +enum +{ + NSUserDomainMask = 1, + NSLocalDomainMask = 2, + NSNetworkDomainMask = 4, + NSSystemDomainMask = 8, + NSAllDomainsMask = 0x0ffff +} + +template TNSStringPathExtensions () +{ + static NSString pathWithComponents (NSArray components) + { + return invokeObjcSelfClass!(NSString, "pathWithComponents:", NSArray)(components); + } + + NSArray pathComponents () + { + return invokeObjcSelf!(NSArray, "pathComponents"); + } + + bool isAbsolutePath () + { + return invokeObjcSelf!(bool, "isAbsolutePath"); + } + + NSString lastPathComponent () + { + return invokeObjcSelf!(NSString, "lastPathComponent"); + } + + NSString stringByDeletingLastPathComponent () + { + return invokeObjcSelf!(NSString, "stringByDeletingLastPathComponent"); + } + + NSString stringByAppendingPathComponent (NSString str) + { + return invokeObjcSelf!(NSString, "stringByAppendingPathComponent:", NSString)(str); + } + + NSString pathExtension () + { + return invokeObjcSelf!(NSString, "pathExtension"); + } + + NSString stringByDeletingPathExtension () + { + return invokeObjcSelf!(NSString, "stringByDeletingPathExtension"); + } + + NSString stringByAppendingPathExtension (NSString str) + { + return invokeObjcSelf!(NSString, "stringByAppendingPathExtension:", NSString)(str); + } + + NSString stringByAbbreviatingWithTildeInPath () + { + return invokeObjcSelf!(NSString, "stringByAbbreviatingWithTildeInPath"); + } + + NSString stringByExpandingTildeInPath () + { + return invokeObjcSelf!(NSString, "stringByExpandingTildeInPath"); + } + + NSString stringByStandardizingPath () + { + return invokeObjcSelf!(NSString, "stringByStandardizingPath"); + } + + NSString stringByResolvingSymlinksInPath () + { + return invokeObjcSelf!(NSString, "stringByResolvingSymlinksInPath"); + } + + NSArray stringsByAppendingPaths (NSArray paths) + { + return invokeObjcSelf!(NSArray, "stringsByAppendingPaths:", NSArray)(paths); + } + + NSUInteger completePathIntoString (NSString** outputName, bool flag, NSArray** outputArray, NSArray filterTypes) + { + return invokeObjcSelf!(NSUInteger, "completePathIntoString:caseSensitive:matchesIntoArray:filterTypes:", NSString**, bool, NSArray**, NSArray)(outputName, flag, outputArray, filterTypes); + } + + char* fileSystemRepresentation () + { + return invokeObjcSelf!(char*, "fileSystemRepresentation"); + } + + bool getFileSystemRepresentation (char* cname, NSUInteger max) + { + return invokeObjcSelf!(bool, "getFileSystemRepresentation:maxLength:", char*, NSUInteger)(cname, max); + } +} + +template TNSArrayPathExtensions () +{ + NSArray pathsMatchingExtensions (NSArray filterTypes) + { + return invokeObjcSelf!(NSArray, "pathsMatchingExtensions:", NSArray)(filterTypes); + } +} + +NSString NSUserName () +{ + return Bridge.invokeObjcFunction!(NSString, bindings.NSUserName); +} + +NSString NSFullUserName () +{ + return Bridge.invokeObjcFunction!(NSString, bindings.NSFullUserName); +} + +NSString NSHomeDirectory () +{ + return Bridge.invokeObjcFunction!(NSString, bindings.NSHomeDirectory); +} + +NSString NSHomeDirectoryForUser (NSString userName) +{ + return Bridge.invokeObjcFunction!(NSString, bindings.NSHomeDirectoryForUser, NSString)(userName); +} + +NSString NSTemporaryDirectory () +{ + return Bridge.invokeObjcFunction!(NSString, bindings.NSTemporaryDirectory); +} + +NSString NSOpenStepRootDirectory () +{ + return Bridge.invokeObjcFunction!(NSString, bindings.NSOpenStepRootDirectory); +} + +NSArray NSSearchPathForDirectoriesInDomains (uint directory, uint domainMask, bool expandTilde) +{ + return Bridge.invokeObjcFunction!(NSArray, bindings.NSSearchPathForDirectoriesInDomains, uint, uint, bool)(directory, domainMask, expandTilde); +} +