This whole thing could use a rewrite but whatever
[ITFoundation.git] / ITByteStream.h
index ceab156..3dce5c6 100755 (executable)
@@ -7,18 +7,24 @@
 //
 
 #import <Foundation/Foundation.h>
+#import "ITConveniences.h"
 
-/*! @class ITByteStream
- *  @abstract A FIFO bytestream
- */
+@class ITByteStream;
 
-@interface ITByteStream : NSObject {
+@interface ITByteStream : NSObject <Delegater> {
+    @public
     NSMutableData *data;
     @private
     NSLock *lock;
+    id <DataReciever> delegate;
 }
--(id) initWithStream:(ITByteStream*)stream;
+-(id) initWithStream:(ITByteStream*)stream delegate:(id <DataReciever>)d;
 -(int) availableDataLength;
 -(NSData*) readDataOfLength:(int)length;
--(void) writeData:(NSData*)data;
+-(NSData*) readAllData;
+-(void) writeData:(in NSData*)data;
+-(void) writeBytes:(in char *)b len:(long)length;
+-(void) lockStream;
+-(void) unlockStream;
+-(void) shortenData:(long)length;
 @end