Mercurial > projects > dstep
comparison dstep/foundation/NSUserDefaults.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 | 7ff919f595d5 |
children | b9de51448c6b |
comparison
equal
deleted
inserted
replaced
15:7ff919f595d5 | 16:19885b43130e |
---|---|
7 module dstep.foundation.NSUserDefaults; | 7 module dstep.foundation.NSUserDefaults; |
8 | 8 |
9 import dstep.foundation.NSArray; | 9 import dstep.foundation.NSArray; |
10 import dstep.foundation.NSData; | 10 import dstep.foundation.NSData; |
11 import dstep.foundation.NSDictionary; | 11 import dstep.foundation.NSDictionary; |
12 import dstep.foundation.NSMutableDictionary; | 12 import dstep.foundation.NSObjCRuntime; |
13 import dstep.foundation.NSObject; | 13 import dstep.foundation.NSObject; |
14 import dstep.foundation.NSString; | 14 import dstep.foundation.NSString; |
15 import dstep.objc.bridge.Bridge; | 15 import dstep.objc.bridge.Bridge; |
16 import dstep.objc.objc : id; | 16 import dstep.objc.objc; |
17 | |
18 | |
17 | 19 |
18 import bindings = dstep.foundation.NSUserDefaults_bindings; | 20 import bindings = dstep.foundation.NSUserDefaults_bindings; |
19 | 21 |
20 const NSString NSGlobalDomain; | 22 private |
21 const NSString NSArgumentDomain; | 23 { |
22 const NSString NSRegistrationDomain; | 24 NSString NSGlobalDomain_; |
23 const NSString NSUserDefaultsDidChangeNotification; | 25 NSString NSArgumentDomain_; |
24 | 26 NSString NSRegistrationDomain_; |
25 static this () | 27 NSString NSUserDefaultsDidChangeNotification_; |
26 { | 28 } |
27 NSGlobalDomain = new NSString(bindings.NSGlobalDomain); | 29 |
28 NSArgumentDomain = new NSString(bindings.NSArgumentDomain); | 30 NSString NSGlobalDomain () |
29 NSRegistrationDomain = new NSString(bindings.NSRegistrationDomain); | 31 { |
30 NSUserDefaultsDidChangeNotification = new NSString(bindings.NSUserDefaultsDidChangeNotification); | 32 if (NSGlobalDomain_) |
33 return NSGlobalDomain_; | |
34 | |
35 return NSGlobalDomain_ = new NSString(bindings.NSGlobalDomain); | |
36 } | |
37 | |
38 NSString NSArgumentDomain () | |
39 { | |
40 if (NSArgumentDomain_) | |
41 return NSArgumentDomain_; | |
42 | |
43 return NSArgumentDomain_ = new NSString(bindings.NSArgumentDomain); | |
44 } | |
45 | |
46 NSString NSRegistrationDomain () | |
47 { | |
48 if (NSRegistrationDomain_) | |
49 return NSRegistrationDomain_; | |
50 | |
51 return NSRegistrationDomain_ = new NSString(bindings.NSRegistrationDomain); | |
52 } | |
53 | |
54 NSString NSUserDefaultsDidChangeNotification () | |
55 { | |
56 if (NSUserDefaultsDidChangeNotification_) | |
57 return NSUserDefaultsDidChangeNotification_; | |
58 | |
59 return NSUserDefaultsDidChangeNotification_ = new NSString(bindings.NSUserDefaultsDidChangeNotification); | |
31 } | 60 } |
32 | 61 |
33 class NSUserDefaults : NSObject | 62 class NSUserDefaults : NSObject |
34 { | 63 { |
35 mixin ObjcWrap; | 64 mixin (ObjcWrap); |
65 | |
66 this () | |
67 { | |
68 super(typeof(this).alloc.init.objcObject); | |
69 } | |
70 | |
71 typeof(this) init () | |
72 { | |
73 return invokeObjcSelf!(typeof(this), "init"); | |
74 } | |
36 | 75 |
37 static NSUserDefaults standardUserDefaults () | 76 static NSUserDefaults standardUserDefaults () |
38 { | 77 { |
39 return invokeObjcSelfClass!(NSUserDefaults, "standardUserDefaults"); | 78 return invokeObjcSuperClass!(NSUserDefaults, "standardUserDefaults"); |
40 } | 79 } |
41 | 80 |
42 static void resetStandardUserDefaults () | 81 static void resetStandardUserDefaults () |
43 { | 82 { |
44 return invokeObjcSelfClass!(void, "resetStandardUserDefaults"); | 83 return invokeObjcSuperClass!(void, "resetStandardUserDefaults"); |
45 } | |
46 | |
47 Object init () | |
48 { | |
49 return invokeObjcSelf!(Object, "init"); | |
50 } | |
51 | |
52 this () | |
53 { | |
54 objcObject = Bridge.invokeObjcClassMethod!(id, "alloc")(objcClass); | |
55 id result = Bridge.invokeObjcMethod!(id, "init")(objcObject); | |
56 | |
57 if (result) | |
58 objcObject = ret; | |
59 | |
60 dObject = this; | |
61 } | 84 } |
62 | 85 |
63 Object initWithUser (NSString username) | 86 Object initWithUser (NSString username) |
64 { | 87 { |
65 return invokeObjcSelf!(Object, "initWithUser:", NSString)(username); | 88 return invokeObjcSelf!(Object, "initWithUser:", NSString)(username); |
66 } | 89 } |
67 | 90 |
68 this (NSString username) | 91 this (NSString username) |
69 { | 92 { |
70 objcObject = Bridge.invokeObjcClassMethod!(id, "alloc")(objcClass); | 93 typeof(this).alloc.initWithUser(username); |
71 id result = Bridge.invokeObjcMethod!(id, "initWithUser:", NSString)(objcObject, username); | |
72 | |
73 if (result) | |
74 objcObject = ret; | |
75 | |
76 dObject = this; | |
77 } | 94 } |
78 | 95 |
79 Object objectForKey (NSString defaultName) | 96 Object objectForKey (NSString defaultName) |
80 { | 97 { |
81 return invokeObjcSelf!(Object, "objectForKey:", NSString)(defaultName); | 98 return invokeObjcSelf!(Object, "objectForKey:", NSString)(defaultName); |