| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156 | 
							- using System;
 
- using System.IO;
 
- namespace SharpCifs.Util.Sharpen
 
- {
 
-     internal class WrappedSystemStream : Stream
 
-     {
 
-         private InputStream _ist;
 
-         private OutputStream _ost;
 
-         int _position;
 
-         int _markedPosition;
 
-         public WrappedSystemStream(InputStream ist)
 
-         {
 
-             this._ist = ist;
 
-         }
 
-         public WrappedSystemStream(OutputStream ost)
 
-         {
 
-             this._ost = ost;
 
-         }
 
-         public InputStream InputStream
 
-         {
 
-             get { return _ist; }
 
-         }
 
-         public OutputStream OutputStream
 
-         {
 
-             get { return _ost; }
 
-         }
 
-         public void Close()    //remove `override`
 
-         {
 
-             if (_ist != null)
 
-             {
 
-                 //Stream.`Close` method deleted
 
-                 //_ist.Close ();
 
-                 _ist.Dispose();
 
-             }
 
-             if (_ost != null)
 
-             {
 
-                 //Stream.`Close` method deleted
 
-                 //_ost.Close ();
 
-                 _ost.Dispose();
 
-             }
 
-         }
 
-         public override void Flush()
 
-         {
 
-             _ost.Flush();
 
-         }
 
-         public override int Read(byte[] buffer, int offset, int count)
 
-         {
 
-             int res = _ist.Read(buffer, offset, count);
 
-             if (res != -1)
 
-             {
 
-                 _position += res;
 
-                 return res;
 
-             }
 
-             return 0;
 
-         }
 
-         public override int ReadByte()
 
-         {
 
-             int res = _ist.Read();
 
-             if (res != -1)
 
-                 _position++;
 
-             return res;
 
-         }
 
-         public override long Seek(long offset, SeekOrigin origin)
 
-         {
 
-             if (origin == SeekOrigin.Begin)
 
-                 Position = offset;
 
-             else if (origin == SeekOrigin.Current)
 
-                 Position = Position + offset;
 
-             else if (origin == SeekOrigin.End)
 
-                 Position = Length + offset;
 
-             return Position;
 
-         }
 
-         public override void SetLength(long value)
 
-         {
 
-             throw new NotSupportedException();
 
-         }
 
-         public override void Write(byte[] buffer, int offset, int count)
 
-         {
 
-             _ost.Write(buffer, offset, count);
 
-             _position += count;
 
-         }
 
-         public override void WriteByte(byte value)
 
-         {
 
-             _ost.Write(value);
 
-             _position++;
 
-         }
 
-         public override bool CanRead
 
-         {
 
-             get { return (_ist != null); }
 
-         }
 
-         public override bool CanSeek
 
-         {
 
-             get { return true; }
 
-         }
 
-         public override bool CanWrite
 
-         {
 
-             get { return (_ost != null); }
 
-         }
 
-         public override long Length
 
-         {
 
-             get { return _ist.Length; }
 
-         }
 
-         internal void OnMark(int nb)
 
-         {
 
-             _markedPosition = _position;
 
-             _ist.Mark(nb);
 
-         }
 
-         public override long Position
 
-         {
 
-             get
 
-             {
 
-                 if (_ist != null && _ist.CanSeek())
 
-                     return _ist.Position;
 
-                 return _position;
 
-             }
 
-             set
 
-             {
 
-                 if (value == _position)
 
-                     return;
 
-                 if (value == _markedPosition
 
-                     && _ist.MarkSupported())
 
-                 {
 
-                     _ist.Reset();
 
-                 }
 
-                 else if (_ist != null && _ist.CanSeek())
 
-                 {
 
-                     _ist.Position = value;
 
-                 }
 
-                 else
 
-                 {
 
-                     throw new NotSupportedException();
 
-                 }
 
-             }
 
-         }
 
-     }
 
- }
 
 
  |