Huge update to ITFoundation. I've gone through every file (except queue.h
[ITFoundation.git] / ITByteStream.h
old mode 100755 (executable)
new mode 100644 (file)
index c008aac..a2193d6
@@ -1,34 +1,46 @@
-//
-//  ITByteStream.h
-//  ITFoundation
-//
-//  Created by Alexander Strange on Thu Feb 27 2003.
-//  Copyright (c) 2003 __MyCompanyName__. All rights reserved.
-//
+/*
+ *     ITFoundation
+ *     ITByteStream.h
+ *
+ *     Copyright (c) 2005 by iThink Software.
+ *     All Rights Reserved.
+ *
+ *     $Id$
+ *
+ */
 
 #import <Foundation/Foundation.h>
 
-@class ITByteStream;
-@protocol DataReciever <NSObject>
--(oneway void)newDataAdded:(id)sender;
+@protocol ITDataReceiver;
+
+@protocol ITDataProvider <NSObject>
+- (id <ITDataReceiver>)setDelegate:(id <ITDataReceiver>)delegate;
+- (id <ITDataReceiver>)delegate;
 @end
-@interface ITByteStream : NSObject {
-    @public
-    NSMutableData *data;
-    @private
-    NSLock *lock;
-    id <DataReciever> delegate;
-}
--(id) initWithStream:(ITByteStream*)stream delegate:(id <DataReciever>)d;
--(int) availableDataLength;
--(NSData*) readDataOfLength:(int)length;
--(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;
+
+@protocol ITDataReceiver <NSObject>
+-(oneway void)newDataAdded:(id <ITDataProvider>)sender;
 @end
+
+@interface ITByteStream : NSObject <ITDataProvider> {
+       @public
+       NSMutableData *data;
+       @private
+       NSLock *lock;
+       id <ITDataReceiver> delegate;
+}
+
+- (id)initWithDelegate:(id <ITDataReceiver>)delegate;
+- (id)initWithStream:(ITByteStream *)stream delegate:(id <ITDataReceiver>)d;
+- (int)availableDataLength;
+- (NSData*)readDataOfLength:(int)length;
+- (NSData*)readAllData;
+- (void)writeData:(in NSData *)data;
+- (void)writeBytes:(in char *)b len:(long)length;
+- (void)lockStream;
+- (void)unlockStream;
+- (void)shortenData:(long)length;
+- (id <ITDataReceiver>)setDelegate:(id <ITDataReceiver>)delegate;
+- (id <ITDataReceiver>)delegate;
+
+@end
\ No newline at end of file