2 // System.Security.Cryptography CryptoStream.cs
\r
5 // Thomas Neidhart (tome@sbox.tugraz.at)
\r
11 namespace System.Security.Cryptography
\r
14 public class CryptoStream : Stream
\r
16 private CryptoStreamMode _mode;
\r
18 public CryptoStream(Stream stream, ICryptoTransform transform, CryptoStreamMode mode)
\r
23 public override bool CanRead
\r
27 case CryptoStreamMode.Read:
\r
30 case CryptoStreamMode.Write:
\r
39 public override bool CanSeek
\r
46 public override bool CanWrite
\r
50 case CryptoStreamMode.Read:
\r
53 case CryptoStreamMode.Write:
\r
62 public override long Length
\r
65 throw new NotSupportedException("Length property not supported by CryptoStream");
\r
69 public override long Position
\r
72 throw new NotSupportedException("Position property not supported by CryptoStream");
\r
75 throw new NotSupportedException("Position property not supported by CryptoStream");
\r
80 public override int Read(byte[] buffer, int offset, int count)
\r
87 public override void Write(byte[] buffer, int offset, int count)
\r
93 public override void Flush()
\r
99 public void FlushFinalBlock()
\r
101 if (_mode != CryptoStreamMode.Write)
\r
102 throw new NotSupportedException("cannot flush a non-writeable CryptoStream");
\r
107 public override long Seek(long offset, SeekOrigin origin)
\r
109 throw new NotSupportedException("cannot seek a CryptoStream");
\r
112 public override void SetLength(long value)
\r
114 // LAMESPEC: should throw NotSupportedException like Seek??
\r
120 } // System.Security.Cryptography
\r