5 // Created by Alexander Strange on Thu Feb 27 2003.
6 // Copyright (c) 2003 __MyCompanyName__. All rights reserved.
9 #import "ITByteStream.h"
11 // TODO: Add NSCopying/NSCoding support
13 @implementation ITByteStream
16 if (self == [super init])
18 data = [[NSMutableData alloc] init];
23 -(id) initWithStream:(ITByteStream*)stream
25 if (self == [super init])
27 data = [stream->data copy];
38 -(int) availableDataLength
43 -(NSData*) readDataOfLength:(int)length
46 NSRange range = {0, length};
47 ret = [data subdataWithRange:range];
48 #if MAC_OS_X_VERSION_10_2 <= MAC_OS_X_VERSION_MAX_ALLOWED
49 [data replaceBytesInRange:range withBytes:nil length:0]; // this should delete off the end. should test.
51 range = {length, [data length]};
52 tmp = [data subdataWithRange:range];
53 [data setData:tmp]; // maybe i should add a lock to this? it would be bad if someone was writing when it was reading...
58 -(void) writeData:(NSData*)_data
60 [data appendData:_data];