/* Copyright (C) 2002-2003, Jeffrey D. Argast. The authors make NO WARRANTY or representation, either express or implied, with respect to this software, its quality, accuracy, merchantability, or fitness for a particular purpose. This software is provided "AS IS", and you, its user, assume the entire risk as to its quality and accuracy. Permission is hereby granted to use, copy, modify, and distribute this software or portions thereof for any purpose, without fee, subject to these conditions: (1) If any part of the source code is distributed, then this statement must be included, with this copyright and no-warranty notice unaltered. (2) Permission for use of this software is granted only if the user accepts full responsibility for any undesirable consequences; the authors accept NO LIABILITY for damages of any kind. */ #import "PerforceActionDirsAndFstat.h" #import "PerforceActionDirs.h" #import "PerforceActionFstat.h" @implementation PerforceActionDirsAndFstat + (void) defaultRunFor:(id)owner selector:(SEL)aSelector withPath:(NSString*)dirPath { PerforceActionDirsAndFstat* action = [[[PerforceActionDirsAndFstat init] alloc] autorelease]; [action runFor:owner selector:aSelector withPath:dirPath]; } - (void) dealloc { [fOwner release]; [fDirsAndFiles release]; [fDepotPath release]; [super dealloc]; } - (void) fstatComplete:(PerforceActionFstat*)action { if ( [action wasSuccess] ) { [fDirsAndFiles addObjectsFromArray:[action getFiles]]; } [fOwner performSelector:fSelector withObject:self]; [self autorelease]; } - (void) dirsComplete:(PerforceActionDirs*)action { if ( [action wasSuccess] ) { [fDirsAndFiles addObjectsFromArray:[action getDirs]]; } [PerforceActionFstat defaultRunFor:self selector:@selector(fstatComplete:) withPath:fDepotPath]; } - (void) runFor:(id)owner selector:(SEL)aSelector withPath:(NSString*)dirPath { fOwner = [owner retain]; fSelector = aSelector; fDepotPath = [dirPath retain]; fDirsAndFiles = [[NSMutableArray alloc] init]; [PerforceActionDirs defaultRunFor:self selector:@selector(dirsComplete:) withPath:fDepotPath]; [self retain]; } - (NSArray*) getDirsAndFiles { return fDirsAndFiles; } @end