Making ITAppleEventCenter use ITDebugLog for all debugging things. This
[ITFoundation.git] / ITByteStream.h
index 265b7a6..c008aac 100755 (executable)
@@ -8,15 +8,27 @@
 
 #import <Foundation/Foundation.h>
 
-/*! @class ITByteStream
- *  @abstract A FIFO bytestream
- */
-
+@class ITByteStream;
+@protocol DataReciever <NSObject>
+-(oneway void)newDataAdded:(id)sender;
+@end
 @interface ITByteStream : NSObject {
+    @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;
+-initWithDelegate:(id)delegate;
+-setDelegate:(id)delegate;
+-delegate;
 @end