-//
-// 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 <Delegater> {
- @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;
+
+@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