Sha256: eb4cfd752dd94580313eca503dd7ecc4530f88bd7049f6657abf65e714a29f88

Contents?: true

Size: 1.14 KB

Versions: 1

Compression:

Stored size: 1.14 KB

Contents

#import "PushFactoryBase.h"
#import "Push.h"
#import "PushSingleton.h"



@implementation PushFactoryBase

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

-(id<IPush>) getPushByID:(NSString*)ID {
    id<IPush> obj = (Push*)[mPushInstances objectForKey:ID];
    if (obj == nil) {
        obj = [self createPushByID:ID];
        [mPushInstances setObject:obj forKey:ID];
    }
    return obj;
}

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


-(id<IPush>)createPushByID:(NSString*)ID {
    Push* obj = [[Push alloc] init];

    [obj setProperty:@"ID" propertyValue:ID methodResult:nil];

    return obj;
}


-(id<IPushSingleton>) getPushSingleton {
    if (mPushSingleton == nil) {
        mPushSingleton = [[PushSingleton alloc] init];
    }
    return mPushSingleton;
}

-(NSArray*) enumeratePushInstances {
    return [mPushInstances allKeys];
}

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