Sha256: 6b013750830dbe24f746a04b9158c6d6ea87d86b0dd6a4e467e255eb46c64062

Contents?: true

Size: 1.27 KB

Versions: 1

Compression:

Stored size: 1.27 KB

Contents

#import "ApplicationFactoryBase.h"
#import "Application.h"
#import "ApplicationSingleton.h"



@implementation ApplicationFactoryBase

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

-(id<IApplication>) getApplicationByID:(NSString*)ID {
    id<IApplication> obj = (Application*)[mApplicationInstances objectForKey:ID];
    if (obj == nil) {
        obj = [self createApplicationByID:ID];
        [mApplicationInstances setObject:obj forKey:ID];
    }
    return obj;
}

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


-(id<IApplication>)createApplicationByID:(NSString*)ID {
    Application* obj = [[Application alloc] init];

    return obj;
}


-(id<IApplicationSingleton>) getApplicationSingleton {
    if (mApplicationSingleton == nil) {
        mApplicationSingleton = [[ApplicationSingleton alloc] init];
    }
    return mApplicationSingleton;
}

-(NSArray*) enumerateApplicationInstances {
    return [mApplicationInstances allKeys];
}

-(void)dealloc {
    [mApplicationInstances 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/ApplicationFactoryBase.m