00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #include <stdarg.h>
00013
00014 #import "OFObject.h"
00015
00016 @class OFString;
00017 @class OFDataArray;
00018
00028 @interface OFStream: OFObject
00029 {
00030 char *cache, *wBuffer;
00031 size_t cacheLen, wBufferLen;
00032 BOOL useWBuffer;
00033 }
00034
00040 - (BOOL)atEndOfStream;
00041
00050 - (size_t)readNBytes: (size_t)size
00051 intoBuffer: (char*)buf;
00052
00066 - (void)readExactlyNBytes: (size_t)size
00067 intoBuffer: (char*)buf;
00068
00077 - (uint8_t)readInt8;
00078
00087 - (uint16_t)readBigEndianInt16;
00088
00097 - (uint32_t)readBigEndianInt32;
00098
00107 - (uint64_t)readBigEndianInt64;
00108
00117 - (uint16_t)readLittleEndianInt16;
00118
00127 - (uint32_t)readLittleEndianInt32;
00128
00137 - (uint64_t)readLittleEndianInt64;
00138
00150 - (OFDataArray*)readDataArrayWithItemSize: (size_t)itemsize
00151 andNItems: (size_t)nitems;
00152
00157 - (OFDataArray*)readDataArrayTillEndOfStream;
00158
00165 - (OFString*)readLine;
00166
00175 - (OFString*)readLineWithEncoding: (enum of_string_encoding)encoding;
00176
00184 - (OFString*)readTillDelimiter: (OFString*)delimiter;
00185
00194 - (OFString*)readTillDelimiter: (OFString*)delimiter
00195 withEncoding: (enum of_string_encoding)encoding;
00196
00200 - (void)bufferWrites;
00201
00205 - (void)flushWriteBuffer;
00206
00214 - (size_t)writeNBytes: (size_t)size
00215 fromBuffer: (const char*)buf;
00216
00222 - (void)writeInt8: (uint8_t)int8;
00223
00229 - (void)writeBigEndianInt16: (uint16_t)int16;
00230
00236 - (void)writeBigEndianInt32: (uint32_t)int32;
00237
00243 - (void)writeBigEndianInt64: (uint64_t)int64;
00244
00250 - (void)writeLittleEndianInt16: (uint16_t)int16;
00251
00257 - (void)writeLittleEndianInt32: (uint32_t)int32;
00258
00264 - (void)writeLittleEndianInt64: (uint64_t)int64;
00265
00272 - (size_t)writeDataArray: (OFDataArray*)dataarray;
00273
00280 - (size_t)writeString: (OFString*)str;
00281
00288 - (size_t)writeLine: (OFString*)str;
00289
00296 - (size_t)writeFormat: (OFString*)fmt, ...;
00297
00305 - (size_t)writeFormat: (OFString*)fmt
00306 withArguments: (va_list)args;
00307
00311 - (void)close;
00312 @end