Oolite
Loading...
Searching...
No Matches
OOPListScript(SetUp) Category Reference

Instance Methods

(id) - initWithName:scriptArray:metadata:
 

Class Methods

(NSArray *) + scriptsFromDictionaryOfScripts:filePath:
 
(NSArray *) + loadCachedScripts:
 

Detailed Description

Definition at line 42 of file OOPListScript.m.

Method Documentation

◆ initWithName:scriptArray:metadata:

- (id) initWithName: (NSString *)  name
scriptArray: (NSArray *)  script
metadata: (NSDictionary *)  metadata 

Definition at line 39 of file OOPListScript.m.

192 :(NSString *)name scriptArray:(NSArray *)script metadata:(NSDictionary *)metadata
193{
194 self = [super init];
195 if (self != nil)
196 {
197 _script = [script retain];
198 if (name != nil)
199 {
200 if (metadata == nil) metadata = [NSDictionary dictionaryWithObject:name forKey:kMDKeyName];
201 else
202 {
203 NSMutableDictionary *mutableMetadata = [[metadata mutableCopy] autorelease];
204 [mutableMetadata setObject:name forKey:kMDKeyName];
205 metadata = mutableMetadata;
206 }
207 }
208 _metadata = [metadata copy];
209 }
210
211 return self;
212}
return nil

◆ loadCachedScripts:

+ (NSArray *) loadCachedScripts: (NSDictionary *)  cachedScripts

Definition at line 39 of file OOPListScript.m.

169 :(NSDictionary *)cachedScripts
170{
171 NSString *key = nil;
172
173 NSMutableArray *result = [NSMutableArray arrayWithCapacity:[cachedScripts count]];
174
175 foreachkey (key, cachedScripts)
176 {
177 NSDictionary *cacheValue = [cachedScripts oo_dictionaryForKey:key];
178 NSArray *scriptArray = [cacheValue oo_arrayForKey:kKeyScript];
179 NSDictionary *metadata = [cacheValue oo_dictionaryForKey:kKeyMetadata];
180 OOPListScript *script = [[self alloc] initWithName:key scriptArray:scriptArray metadata:metadata];
181 if (script != nil)
182 {
183 [result addObject:script];
184 [script release];
185 }
186 }
187
188 return [[result copy] autorelease];
189}
#define foreachkey(VAR, DICT)
Definition OOCocoa.h:353

◆ scriptsFromDictionaryOfScripts:filePath:

+ (NSArray *) scriptsFromDictionaryOfScripts: (NSDictionary *)  dictionary
filePath: (NSString *)  filePath 

Definition at line 39 of file OOPListScript.m.

125 :(NSDictionary *)dictionary filePath:(NSString *)filePath
126{
127 NSMutableArray *result = nil;
128 NSString *key = nil;
129 NSArray *scriptArray = nil;
130 NSDictionary *metadata = nil;
131 NSMutableDictionary *cachedScripts = nil;
132 OOPListScript *script = nil;
133
134 NSUInteger count = [dictionary count];
135 result = [NSMutableArray arrayWithCapacity:count];
136 cachedScripts = [NSMutableDictionary dictionaryWithCapacity:count];
137
138 metadata = [dictionary objectForKey:kKeyMetadata];
139 if (![metadata isKindOfClass:[NSDictionary class]]) metadata = nil;
140
141 foreachkey (key, dictionary)
142 {
143 scriptArray = [dictionary objectForKey:key];
144 if ([key isKindOfClass:[NSString class]] &&
145 [scriptArray isKindOfClass:[NSArray class]] &&
146 ![key isEqual:kKeyMetadata])
147 {
148 scriptArray = OOSanitizeLegacyScript(scriptArray, key, NO);
149 if (scriptArray != nil)
150 {
151 script = [[self alloc] initWithName:key scriptArray:scriptArray metadata:metadata];
152 if (script != nil)
153 {
154 [result addObject:script];
155 [cachedScripts setObject:[NSDictionary dictionaryWithObjectsAndKeys:scriptArray, kKeyScript, metadata, kKeyMetadata, nil] forKey:key];
156
157 [script release];
158 }
159 }
160 }
161 }
162
163 [[OOCacheManager sharedCache] setObject:cachedScripts forKey:filePath inCache:kCacheName];
164
165 return [[result copy] autorelease];
166}
NSArray * OOSanitizeLegacyScript(NSArray *script, NSString *context, BOOL allowAIMethods)
static NSString *const kKeyMetadata
unsigned count
void setObject:forKey:inCache:(id inElement,[forKey] NSString *inKey,[inCache] NSString *inCacheKey)
OOCacheManager * sharedCache()

The documentation for this category was generated from the following file: