return debugOn;
}
- (NSString *)loggingPrefix {
- unsigned char buf[32];
+ char buf[32];
sprintf(buf, "[wo-rm-0x%08X]", (unsigned)self);
return [NSString stringWithCString:buf];
}
/* string tables */
-- (NSString *)stringForKey:(NSString *)_key
- inTableNamed:(NSString *)_tableName
- withDefaultValue:(NSString *)_defaultValue
+- (id)stringTableWithName:(NSString *)_tableName
inFramework:(NSString *)_framework
- languages:(NSArray *)_languages;
+ languages:(NSArray *)_languages
{
+ /* side effect: tables are cached (currently not affected by default!) */
NSFileManager *fm;
_WOStringTable *table = nil;
NSString *path = nil;
path = [self pathForResourceNamed:path inFramework:_framework
languages:_languages];
- if (path != nil) {
- if ((table = NSMapGet(self->stringTables, path)) == NULL) {
- if ([fm fileExistsAtPath:path]) {
- table = [_WOStringTable allocWithZone:[self zone]]; /* for gcc */
- table = [table initWithPath:path];
- NSMapInsert(self->stringTables, path, table);
- [table release];
- }
+ if (path == nil)
+ return nil;
+
+ if ((table = NSMapGet(self->stringTables, path)) == NULL) {
+ if ([fm fileExistsAtPath:path]) {
+ table = [_WOStringTable allocWithZone:[self zone]]; /* for gcc */
+ table = [table initWithPath:path];
+ NSMapInsert(self->stringTables, path, table);
+ [table release];
}
- if (table != nil)
- return [table stringForKey:_key withDefaultValue:_defaultValue];
}
- /* didn't found table in cache */
+ return table;
+}
+
+- (NSString *)stringForKey:(NSString *)_key
+ inTableNamed:(NSString *)_tableName
+ withDefaultValue:(NSString *)_defaultValue
+ inFramework:(NSString *)_framework
+ languages:(NSArray *)_languages
+{
+ _WOStringTable *table = nil;
- return _defaultValue;
+ table = [self stringTableWithName:_tableName inFramework:_framework
+ languages:_languages];
+
+ return (table != nil)
+ ? [table stringForKey:_key withDefaultValue:_defaultValue]
+ : _defaultValue;
}
- (NSString *)stringForKey:(NSString *)_key
/* lookup component path */
+ // TODO: Explain why _framework and _languages are NOT passed!
[self _getComponentURL:&componentURL andName:&_name
forNameOrURL:_name inFramework:nil languages:nil];
return (WOElement *)[cdef template];
}
-- (WOComponent *)pageWithName:(NSString *)_name languages:(NSArray *)_langs {
+- (id)pageWithName:(NSString *)_name languages:(NSArray *)_langs {
/*
TODO: this appears to be deprecated since the WOComponent initializer
is now -initWithContext: and we have no context over here ...
return [component autorelease];
}
-/* description */
-
-- (NSString *)description {
- NSMutableString *ms;
-
- ms = [NSMutableString stringWithCapacity:32];
- [ms appendFormat:@"<0x%08X[%@]:", self, NSStringFromClass([self class])];
- if ([self->base length] > 0)
- [ms appendFormat:@" path='%@'", self->base];
- [ms appendString:@">"];
- return ms;
-}
-
/* KeyedData */
- (void)setData:(NSData *)_data
[self unlock];
}
+/* description */
+
+- (NSString *)description {
+ NSMutableString *ms;
+
+ ms = [NSMutableString stringWithCapacity:32];
+ [ms appendFormat:@"<0x%08X[%@]:", self, NSStringFromClass([self class])];
+ if ([self->base length] > 0)
+ [ms appendFormat:@" path='%@'", self->base];
+ [ms appendString:@">"];
+ return ms;
+}
+
@end /* WOResourceManager */