Mmmmmm..... oneway void
[ITFoundation.git] / ITByteStream.h
index 10d9f0f..52f4856 100755 (executable)
@@ -8,17 +8,25 @@
 
 #import <Foundation/Foundation.h>
 
-/*! @class ITByteStream
- *  @abstract A FIFO bytestream
- */
+@class ITByteStream;
+
+@protocol ITByteStreamDelegate
+-(oneway void)newDataAdded:(ITByteStream *)sender;
+@end
 
 @interface ITByteStream : NSObject {
+    @public
     NSMutableData *data;
     @private
     NSLock *lock;
+    id <ITByteStreamDelegate> delegate;
 }
--(id) initWithStream:(ITByteStream*)stream;
+-(id) initWithStream:(ITByteStream*)stream delegate:(id <ITByteStreamDelegate>)d;
+-(id) initWithDelegate:(id <ITByteStreamDelegate>)d;
+-(void) setDelegate:(id <ITByteStreamDelegate>)d;
 -(int) availableDataLength;
 -(NSData*) readDataOfLength:(int)length;
+-(NSData*) readAllData;
 -(void) writeData:(in NSData*)data;
+-(void) writeBytes:(char *)b len:(long)length;
 @end