home *** CD-ROM | disk | FTP | other *** search
/ OpenStep 4.2 / Openstep-4.2-Intel-Developer.iso / NextLibrary / Frameworks / Foundation.framework / Versions / B / Headers / NSData.h < prev    next >
Encoding:
Text File  |  1996-10-25  |  2.1 KB  |  83 lines

  1. /*    NSData.h
  2.     Object container for bags of bytes
  3.     Copyright 1994-1996, NeXT Software, Inc.  All rights reserved.
  4. */
  5.  
  6. #import <Foundation/NSObject.h>
  7. #import <Foundation/NSRange.h>
  8.  
  9. @class NSString;
  10.  
  11. /****************    Immutable Data        ****************/
  12.  
  13. @interface NSData : NSObject <NSCopying, NSMutableCopying, NSCoding>
  14.  
  15. - (unsigned)length;
  16. - (const void *)bytes;
  17.  
  18. @end
  19.  
  20. @interface NSData (NSExtendedData)
  21.  
  22. - (NSString *)description;
  23. - (void)getBytes:(void *)buffer;
  24. - (void)getBytes:(void *)buffer length:(unsigned)length;
  25. - (void)getBytes:(void *)buffer range:(NSRange)range;
  26. - (BOOL)isEqualToData:(NSData *)other;
  27. - (NSData *)subdataWithRange:(NSRange)range;
  28. - (BOOL)writeToFile:(NSString *)path atomically:(BOOL)useAuxiliaryFile;
  29.  
  30. @end
  31.  
  32. @interface NSData (NSDataCreation)
  33.  
  34. + (id)data;
  35. + (id)dataWithBytes:(const void *)bytes length:(unsigned)length;
  36. + (id)dataWithBytesNoCopy:(void *)bytes length:(unsigned)length;
  37. + (id)dataWithContentsOfFile:(NSString *)path;
  38. + (id)dataWithContentsOfMappedFile:(NSString *)path;
  39. - (id)initWithBytes:(const void *)bytes length:(unsigned)length;
  40. - (id)initWithBytesNoCopy:(void *)bytes length:(unsigned)length;
  41. - (id)initWithContentsOfFile:(NSString *)path;
  42. - (id)initWithContentsOfMappedFile:(NSString *)path;
  43. - (id)initWithData:(NSData *)data;
  44.  
  45. #if !defined(STRICT_OPENSTEP)
  46. + (id)dataWithData:(NSData *)data;
  47. #endif /* !STRICT_OPENSTEP */
  48.  
  49. @end
  50.  
  51. /****************    Mutable Data        ****************/
  52.  
  53. @interface NSMutableData : NSData
  54.  
  55. - (void *)mutableBytes;
  56. - (void)setLength:(unsigned)length;
  57.  
  58. @end
  59.  
  60. @interface NSMutableData (NSExtendedMutableData)
  61.  
  62. - (void)appendBytes:(const void *)bytes length:(unsigned)length;
  63. - (void)appendData:(NSData *)other;
  64. - (void)increaseLengthBy:(unsigned)extraLength;
  65. - (void)replaceBytesInRange:(NSRange)range withBytes:(const void *)bytes;
  66. - (void)resetBytesInRange:(NSRange)range;
  67.  
  68. #if !defined(STRICT_OPENSTEP)
  69. - (void)setData:(NSData *)data;
  70. #endif /* !STRICT_OPENSTEP */
  71.  
  72. @end
  73.  
  74. @interface NSMutableData (NSMutableDataCreation)
  75.  
  76. + (id)dataWithCapacity:(unsigned)aNumItems;
  77. + (id)dataWithLength:(unsigned)length;
  78. - (id)initWithCapacity:(unsigned)capacity;
  79. - (id)initWithLength:(unsigned)length;
  80.  
  81. @end
  82.  
  83.