Sha256: b245e3e32fe1a630ed611de0e9820ca82c6a0743b7738730cee29432b8bf0ab5

Contents?: true

Size: 1.13 KB

Versions: 1

Compression:

Stored size: 1.13 KB

Contents

#import "ConfigFactoryBase.h"
#import "Config.h"
#import "ConfigSingleton.h"



@implementation ConfigFactoryBase

-(id)init {
    self = [super init];
    mConfigInstances = [[NSMutableDictionary dictionaryWithCapacity:4] retain];
    mConfigSingleton = nil;
    return self;
}

-(id<IConfig>) getConfigByID:(NSString*)ID {
    id<IConfig> obj = (Config*)[mConfigInstances objectForKey:ID];
    if (obj == nil) {
        obj = [self createConfigByID:ID];
        [mConfigInstances setObject:obj forKey:ID];
    }
    return obj;
}

-(void) destroyObjectByID:(NSString*)ID {
    Config* obj = [mConfigInstances objectForKey:ID];
    if (obj != nil) {
        [mConfigInstances removeObjectForKey:ID];
    }
}


-(id<IConfig>)createConfigByID:(NSString*)ID {
    Config* obj = [[Config alloc] init];

    return obj;
}


-(id<IConfigSingleton>) getConfigSingleton {
    if (mConfigSingleton == nil) {
        mConfigSingleton = [[ConfigSingleton alloc] init];
    }
    return mConfigSingleton;
}

-(NSArray*) enumerateConfigInstances {
    return [mConfigInstances allKeys];
}

-(void)dealloc {
    [mConfigInstances release];
    [super dealloc];
}


@end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
tauplatform-1.0.1 lib/commonAPI/coreapi/ext/platform/iphone/generated/base_impl/ConfigFactoryBase.m