home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
NeXTSTEP 3.0
/
NeXTSTEP3.0.iso
/
NextDeveloper
/
Headers
/
btree
/
IXStoreDirectory.h
< prev
next >
Wrap
Text File
|
1992-03-26
|
2KB
|
76 lines
/*
IXStoreDirectory.h
Copyright 1991, NeXT Computer, Inc.
*/
#import <objc/Object.h>
#import <store/IXStoreFile.h>
#ifndef RELEASE_2
@class IXBTreeCursor;
#endif RELEASE_2
// this class implements a simple directory for managing store clients.
#ifndef RELEASE_2
@interface IXStoreDirectory: Object <IXBlockAndStoreAccess, IXNameAndFileAccess>
#else RELEASE_2
@interface IXStoreDirectory: Object
#endif RELEASE_2
{
BOOL _freeStore;
char *_handleName;
unsigned _blockHandle;
IXStore *_store;
#ifndef RELEASE_2
IXBTreeCursor *_btreeCursor;
#else RELEASE_2
id _btreeCursor;
#endif RELEASE_2
}
// supplied class must be store client
- addEntryNamed:(const char *)aName ofClass:aClass;
- addEntryNamed:(const char *)aName ofClass:aClass
atBlock:(unsigned)aHandle;
- addEntryNamed:(const char *)aName forObject:anObject;
- (const char **)entries; // caller must free the array of entry names
- reset; // removes all entries
- removeName:(const char *)aName; // removes, but doesn't free entry
- empty; // frees all entries
- freeEntryNamed:(const char *)aName; // removes entry and frees from store
- (BOOL)hasEntryNamed:(const char *)aName;
- openEntryNamed:(const char *)aName;
- getBlock:(unsigned *)aBlock ofEntryNamed:(const char *)aName;
- getClass:(Class *)aClass ofEntryNamed:(const char *)aName;
#ifdef RELEASE_2
// @pr1ol IXBlockAndStoreAccess
+ freeFromBlock:(unsigned)aHandle inStore:(id)aStore;
- freeFromStore;
- initInStore:(id)aStore;
- initFromBlock:(unsigned)aHandle inStore:(id)aStore;
- getBlock:(unsigned *)aHandle andStore:(id *)aStore;
// @protocol IXNameAndFileAccess
+ freeFromName:(const char *)aName inFile:(const char *)aFile;
- initWithName:(const char *)aName inFile:(const char *)aFile;
- initFromName:(const char *)aName inFile:(const char *)aFile
forWriting:(BOOL)writingFlag;
- getName:(const char **)aName andFile:(const char **)aFile;
#endif RELEASE_2
@end