Mercurial > projects > dstep
diff dstep/foundation/NSUserDefaults.d @ 14:89f3c3ef1fd2
Added the Foundation framework
author | Jacob Carlborg <doob@me.com> |
---|---|
date | Mon, 03 Aug 2009 15:23:15 +0200 |
parents | |
children | 7ff919f595d5 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dstep/foundation/NSUserDefaults.d Mon Aug 03 15:23:15 2009 +0200 @@ -0,0 +1,233 @@ +/** + * 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.NSUserDefaults; + +import dstep.foundation.NSArray; +import dstep.foundation.NSData; +import dstep.foundation.NSDictionary; +import dstep.foundation.NSMutableDictionary; +import dstep.foundation.NSObject; +import dstep.foundation.NSString; +import dstep.objc.bridge.Bridge; +import dstep.objc.objc : id; + +import bindings = dstep.foundation.NSUserDefaults_bindings; + +const NSString NSGlobalDomain; +const NSString NSArgumentDomain; +const NSString NSRegistrationDomain; +const NSString NSUserDefaultsDidChangeNotification; + +static this () +{ + NSGlobalDomain = new NSString(bindings.NSGlobalDomain); + NSArgumentDomain = new NSString(bindings.NSArgumentDomain); + NSRegistrationDomain = new NSString(bindings.NSRegistrationDomain); + NSUserDefaultsDidChangeNotification = new NSString(bindings.NSUserDefaultsDidChangeNotification); +} + +class NSUserDefaults : NSObject +{ + mixin ObjcWrap; + + static NSUserDefaults standardUserDefaults () + { + return invokeObjcSelfClass!(NSUserDefaults, "standardUserDefaults"return result is this.objcObject ? this : (result !is null ? new NSUserDefaults(result) : null); } + + static void resetStandardUserDefaults () + { + return invokeObjcSelfClass!(void, "resetStandardUserDefaults"); + } + + Object init () + { + return invokeObjcSelf!(Object, "init"); + } + + this () + { + objcObject = Bridge.invokeObjcClassMethod!(id, "alloc")(objcClass); + id result = Bridge.invokeObjcMethod!(id, "init")(objcObject); + + if (result) + objcObject = ret; + + dObject = this; + } + + Object initWithUser (NSString username) + { + return invokeObjcSelf!(Object, "initWithUser:", NSString)(username); + } + + this (NSString username) + { + objcObject = Bridge.invokeObjcClassMethod!(id, "alloc")(objcClass); + id result = Bridge.invokeObjcMethod!(id, "initWithUser:", NSString)(objcObject, username); + + if (result) + objcObject = ret; + + dObject = this; + } + + Object objectForKey (NSString defaultName) + { + return invokeObjcSelf!(Object, "objectForKey:", NSString)(defaultName); + } + + void setObject (Object value, NSString defaultName) + { + return invokeObjcSelf!(void, "setObject:forKey:", Object, NSString)(value, defaultName); + } + + void removeObjectForKey (NSString defaultName) + { + return invokeObjcSelf!(void, "removeObjectForKey:", NSString)(defaultName); + } + + NSString stringForKey (NSString defaultName) + { + return invokeObjcSelf!(NSString, "stringForKey:", NSString)(defaultName); + } + + NSArray arrayForKey (NSString defaultName) + { + return invokeObjcSelf!(NSArray, "arrayForKey:", NSString)(defaultName); + } + + NSDictionary dictionaryForKey (NSString defaultName) + { + return invokeObjcSelf!(NSDictionary, "dictionaryForKey:", NSString)(defaultName); + } + + NSData dataForKey (NSString defaultName) + { + return invokeObjcSelf!(NSData, "dataForKey:", NSString)(defaultName); + } + + NSArray stringArrayForKey (NSString defaultName) + { + return invokeObjcSelf!(NSArray, "stringArrayForKey:", NSString)(defaultName); + } + + NSInteger integerForKey (NSString defaultName) + { + return invokeObjcSelf!(NSInteger, "integerForKey:", NSString)(defaultName); + } + + float floatForKey (NSString defaultName) + { + return invokeObjcSelf!(float, "floatForKey:", NSString)(defaultName); + } + + double doubleForKey (NSString defaultName) + { + return invokeObjcSelf!(double, "doubleForKey:", NSString)(defaultName); + } + + bool boolForKey (NSString defaultName) + { + return invokeObjcSelf!(bool, "boolForKey:", NSString)(defaultName); + } + + void setInteger (NSInteger value, NSString defaultName) + { + return invokeObjcSelf!(void, "setInteger:forKey:", NSInteger, NSString)(value, defaultName); + } + + void setFloat (float value, NSString defaultName) + { + return invokeObjcSelf!(void, "setFloat:forKey:", float, NSString)(value, defaultName); + } + + void setDouble (double value, NSString defaultName) + { + return invokeObjcSelf!(void, "setDouble:forKey:", double, NSString)(value, defaultName); + } + + void setBool (bool value, NSString defaultName) + { + return invokeObjcSelf!(void, "setBool:forKey:", bool, NSString)(value, defaultName); + } + + void registerDefaults (NSDictionary registrationDictionary) + { + return invokeObjcSelf!(void, "registerDefaults:", NSDictionary)(registrationDictionary); + } + + void addSuiteNamed (NSString suiteName) + { + return invokeObjcSelf!(void, "addSuiteNamed:", NSString)(suiteName); + } + + void removeSuiteNamed (NSString suiteName) + { + return invokeObjcSelf!(void, "removeSuiteNamed:", NSString)(suiteName); + } + + NSDictionary dictionaryRepresentation () + { + return invokeObjcSelf!(NSDictionary, "dictionaryRepresentation"); + } + + NSArray volatileDomainNames () + { + return invokeObjcSelf!(NSArray, "volatileDomainNames"); + } + + NSDictionary volatileDomainForName (NSString domainName) + { + return invokeObjcSelf!(NSDictionary, "volatileDomainForName:", NSString)(domainName); + } + + void setVolatileDomain (NSDictionary domain, NSString domainName) + { + return invokeObjcSelf!(void, "setVolatileDomain:forName:", NSDictionary, NSString)(domain, domainName); + } + + void removeVolatileDomainForName (NSString domainName) + { + return invokeObjcSelf!(void, "removeVolatileDomainForName:", NSString)(domainName); + } + + NSArray persistentDomainNames () + { + return invokeObjcSelf!(NSArray, "persistentDomainNames"); + } + + NSDictionary persistentDomainForName (NSString domainName) + { + return invokeObjcSelf!(NSDictionary, "persistentDomainForName:", NSString)(domainName); + } + + void setPersistentDomain (NSDictionary domain, NSString domainName) + { + return invokeObjcSelf!(void, "setPersistentDomain:forName:", NSDictionary, NSString)(domain, domainName); + } + + void removePersistentDomainForName (NSString domainName) + { + return invokeObjcSelf!(void, "removePersistentDomainForName:", NSString)(domainName); + } + + bool synchronize () + { + return invokeObjcSelf!(bool, "synchronize"); + } + + bool objectIsForcedForKey (NSString key) + { + return invokeObjcSelf!(bool, "objectIsForcedForKey:", NSString)(key); + } + + bool objectIsForcedForKey (NSString key, NSString domain) + { + return invokeObjcSelf!(bool, "objectIsForcedForKey:inDomain:", NSString, NSString)(key, domain); + } +} +