//
//  DeviceFolder.h
//  Device Explorer
//
//  Created by otusweb on Thu May 09 2002.
//  Copyright (c) 2002 Texas Instruments Incorporated. All rights reserved.
//

#import <Foundation/Foundation.h>

#import "DeviceObject.h"
#import "DeviceFile.h"


@interface TIDeviceFolder : TIDeviceObject <NSCopying>
{
    NSMutableArray *_subItems;		/*"Hold the subitems"*/
    NSMutableArray *visibleItems;	/*"hold the subitems that were not filetered out"*/ 
    NSString *currentFilterString;
    NSLock *filterLock;
}

/*"initialisation"*/
- (id) initWithContainer: (TIDeviceFolder*) inContainer
                    name: (NSString*)inName
            internalName: (NSString*)inInternalName
                    size: (NSNumber*)inSize;

/*"Accessors"*/
- (NSMutableArray *) subItems;
- (NSMutableArray *) visibleItems;

- (TIDeviceObject*) subItemByName: (NSString*) inName;

    /*"actions"*/
- (void) sortContentWithSelector: (NSString*) inSelector;

/*"subItem manipulation"*/
- (void) addSubObject: (TIDeviceObject*) inObject;
- (void) addSubObjects: (NSArray*) objects;
- (void) removeSubObject: (TIDeviceObject*)inObject;
- (BOOL) containsObjectAtPath: (NSString*)inPath;
- (BOOL) containsObjectOfTypeAtPath: (NSString*)inPath ofType:(NSString*)inType; // !!!:sreid:20050729  bugzilla #4971
- (TIDeviceObject*) objectAtPath: (NSString*) path;

/*"Filter function"*/
- (BOOL) filterUsingString: (NSString*) inFilterString;
@end