home *** CD-ROM | disk | FTP | other *** search
/ NeXTSTEP 3.0 / NeXTSTEP3.0.iso / NextDeveloper / Examples / IndexingKit / StoreFile / DataWrapper.m < prev    next >
Text File  |  1992-07-19  |  1KB  |  68 lines

  1. /*
  2. DataWrapper.m - Copyright (c) 1992 NeXT Computer, Inc.
  3.  
  4. You may freely copy, distribute and reuse the code in this example.
  5. NeXT Computer, Inc. disclaims any warranty of any kind, expressed or implied, 
  6. as to its fitness for any particular use.
  7. */
  8.  
  9. #import <strings.h>
  10. #import <appkit/appkit.h>
  11. #import "DataWrapper.h"
  12.  
  13. @implementation    DataWrapper
  14.  
  15. - (const char *)key
  16. {
  17.     return key;
  18. }
  19.  
  20. - setKey:(const char *)aKey
  21. {
  22.     char *tmp = (char *)0;
  23.  
  24.     if (aKey) {
  25.     tmp = (char *) malloc(1 + strlen(aKey));
  26.     if (tmp == NULL) return nil;
  27.     strcpy(tmp, aKey);
  28.     }
  29.  
  30.     if (key) free(key);
  31.     key = tmp;
  32.     return self;
  33. }
  34.  
  35. - (int)value
  36. {
  37.     return value;
  38. }
  39.  
  40. - setValue:(int) anInt
  41. {
  42.     value = anInt;
  43.     return self;
  44. }
  45.  
  46. - read:(NXTypedStream *)stream
  47. {
  48.     [super read:stream];
  49.     NXReadTypes(stream, "*i", &key, &value);
  50.     return self;
  51. }
  52.  
  53. - write:(NXTypedStream *)stream
  54. {
  55.     [super write:stream];
  56.     NXWriteTypes(stream, "*i", &key, &value);
  57.     return self;
  58. }
  59.  
  60. - free
  61. {
  62.     if (key) free(key);
  63.     return [super free];
  64. }
  65.  
  66. @end
  67.  
  68.