Added ITSendAEWithKey, need to fix up a small part of it though.
[ITFoundation.git] / ITByteStream.m
index 67ecf31..664e1a0 100755 (executable)
     [super dealloc];
 }
 
--(void) setDelegate:(id <ITByteStreamDelegate>)d
+-setDelegate:(id <DataReciever>)d
 {
+    id old = delegate;
     [delegate release];
     delegate = [d retain];
+    return old;
+}
+
+-delegate
+{
+    return delegate;
 }
 
 -(int) availableDataLength
 
 -(NSData*) readDataOfLength:(int)length
 {
-    NSData *ret, *tmp;
+    NSData *ret;
     NSRange range = {0, length};
     [lock lock];
     ret = [data subdataWithRange:range];
-#if MAC_OS_X_VERSION_10_2 <= MAC_OS_X_VERSION_MAX_ALLOWED
     [data replaceBytesInRange:range withBytes:nil length:0];
-#else
-    range = {length, [data length]};
-    tmp = [data subdataWithRange:range];
-    [data setData:tmp];
-#endif
     [lock unlock];
     return ret;
 }
     [delegate newDataAdded:self];
 }
 
--(void) writeBytes:(char *)b len:(long)length
+-(void) writeBytes:(in char *)b len:(long)length
 {
     [lock lock];
     [data appendBytes:b length:length];
     [lock unlock];
     [delegate newDataAdded:self];
 }
+
+-(void) lockStream
+{
+    [lock lock];
+}
+
+-(void) unlockStream
+{
+    [lock unlock];
+}
+
+-(void) shortenData:(long)length
+{
+    NSRange range = {0, length};
+    [data replaceBytesInRange:range withBytes:nil length:0];
+}
 @end