home *** CD-ROM | disk | FTP | other *** search
- /*
- protocols.h
- Copyright 1991,NeXT Computer,Inc.
- */
-
- #import <btree/protocols.h>
- @class NXData;
-
- @protocol IXRecordReading
-
- - (unsigned)count;
- - readRecord:(unsigned)record fromZone:(NXZone *)zone;
-
- @end
- iotocol IXRecordWriting <IXRecordReading>
-
- - empty;
-
- - (unsigned)addRecord:anObject;
- - replaceRecord:(unsigned)record with:anObject;
- - removeRecord:(unsigned)record;
-
- @end
-
- @protocol IXRecordDiscarding
-
- - clean;
- - discardRecord:(unsigned)record;
- - reclaimRecord:(unsigned)record;
-
- @end
-
- @protocol IXBlobWriting
-
- - (BOOL)getValue:(void **)value andLength:(unsigned *)length
- ofBlob:(const char *)name forRecord:(unsigned)record;
- - (BOOL)setValue:(const void *)value andLength:(unsigned)length
- ofBlob:(const char *)name forRecord:(unsigned)record;
-
- @end
-
- @protocol IXRecordTranscription
-
- - finishReading;
- - source:aSource didReadRecord:(unsigned)record;
- - source:aSource willWriteRecord:(unsigned)record;
-
- @end
-
- @protocol IXTransientAccess
-
- - (BOOL)getOpaqueValue:(NXData **)value
- ofIvar:(const char *)name forRecord:(unsigned)record;
- - (BOOL)getIntValue:(int *)value
- ofIvar:(const char *)name forRecord:(unsigned)record;
- - (BOOL)getFloatValue:(float *)value
- ofIvar:(const char *)name forRecord:(unsigned)record;
- - (BOOL)getDoubleValue:(double *)value
- ofIvar:(const char *)name forRecord:(unsigned)record;
- - (BOOL)getStringValue:(char **)value
- ofIvar:(const char *)name forRecord:(unsigned)record;
- - (BOOL)getStringValue:(char **)value inLength:(unsigned)length
- ofIvar:(const char *)name forRecord:(unsigned)record;
- - (BOOL)getObjectValue:(Object **)value
- ofIvar:(const char *)name forRecord:(unsigned)record;
-
- @end
-
- @protocol IXTransientMessaging
-
- - (BOOL)getIntValue:(int *)value
- ofMessage:(SEL)selector forRecord:(unsigned)record;
- - (BOOL)getFloatValue:(float *)value
- ofMessage:(SEL)selector forRecord:(unsigned)record;
- - (BOOL)getDoubleValue:(double *)value
- ofMessage:(SEL)selector forRecord:(unsigned)record;
- - (BOOL)getStringValue:(char **)value
- ofMessage:(SEL)selector forRecord:(unsigned)record;
- - (BOOL)getStringValue:(char **)value inLength:(unsigned)length
- ofMessage:(SEL)selector forRecord:(unsigned)record;
- - (BOOL)getObjectValue:(Object **)value
- ofMessage:(SEL)selector forRecord:(unsigned)record;
-
- @end
-
-