home *** CD-ROM | disk | FTP | other *** search
/ NeXTSTEP 3.0 / NeXTSTEP3.0.iso / NextDeveloper / Headers / indexing / protocols.h < prev   
Text File  |  1992-05-18  |  2KB  |  86 lines

  1. /*
  2. protocols.h
  3. Copyright 1991,NeXT Computer,Inc.
  4. */
  5.  
  6. #import    <btree/protocols.h>
  7. @class NXData;
  8.  
  9. @protocol IXRecordReading
  10.  
  11. - (unsigned)count;
  12. - readRecord:(unsigned)record fromZone:(NXZone *)zone;
  13.  
  14. @end
  15. iotocol IXRecordWriting <IXRecordReading>
  16.  
  17. - empty;
  18.  
  19. - (unsigned)addRecord:anObject;
  20. - replaceRecord:(unsigned)record with:anObject;
  21. - removeRecord:(unsigned)record;
  22.  
  23. @end
  24.  
  25. @protocol IXRecordDiscarding
  26.  
  27. - clean;
  28. - discardRecord:(unsigned)record;
  29. - reclaimRecord:(unsigned)record;
  30.  
  31. @end
  32.  
  33. @protocol IXBlobWriting
  34.  
  35. - (BOOL)getValue:(void **)value andLength:(unsigned *)length 
  36.     ofBlob:(const char *)name forRecord:(unsigned)record;
  37. - (BOOL)setValue:(const void *)value andLength:(unsigned)length 
  38.     ofBlob:(const char *)name forRecord:(unsigned)record;
  39.  
  40. @end
  41.  
  42. @protocol IXRecordTranscription
  43.  
  44. - finishReading;
  45. - source:aSource didReadRecord:(unsigned)record;
  46. - source:aSource willWriteRecord:(unsigned)record;
  47.  
  48. @end
  49.  
  50. @protocol IXTransientAccess
  51.  
  52. - (BOOL)getOpaqueValue:(NXData **)value 
  53.     ofIvar:(const char *)name forRecord:(unsigned)record;
  54. - (BOOL)getIntValue:(int *)value 
  55.     ofIvar:(const char *)name forRecord:(unsigned)record;
  56. - (BOOL)getFloatValue:(float *)value 
  57.     ofIvar:(const char *)name forRecord:(unsigned)record;
  58. - (BOOL)getDoubleValue:(double *)value 
  59.     ofIvar:(const char *)name forRecord:(unsigned)record;
  60. - (BOOL)getStringValue:(char **)value 
  61.     ofIvar:(const char *)name forRecord:(unsigned)record;
  62. - (BOOL)getStringValue:(char **)value inLength:(unsigned)length 
  63.     ofIvar:(const char *)name forRecord:(unsigned)record;
  64. - (BOOL)getObjectValue:(Object **)value 
  65.     ofIvar:(const char *)name forRecord:(unsigned)record;
  66.  
  67. @end
  68.  
  69. @protocol IXTransientMessaging
  70.  
  71. - (BOOL)getIntValue:(int *)value 
  72.     ofMessage:(SEL)selector forRecord:(unsigned)record;
  73. - (BOOL)getFloatValue:(float *)value
  74.     ofMessage:(SEL)selector forRecord:(unsigned)record;
  75. - (BOOL)getDoubleValue:(double *)value 
  76.     ofMessage:(SEL)selector forRecord:(unsigned)record;
  77. - (BOOL)getStringValue:(char **)value 
  78.     ofMessage:(SEL)selector forRecord:(unsigned)record;
  79. - (BOOL)getStringValue:(char **)value inLength:(unsigned)length 
  80.     ofMessage:(SEL)selector forRecord:(unsigned)record;
  81. - (BOOL)getObjectValue:(Object **)value 
  82.     ofMessage:(SEL)selector forRecord:(unsigned)record;
  83.  
  84. @end
  85.  
  86.