2 // System.IO.TextReader
\r
4 // Author: Marcin Szczepanski (marcins@zipworld.com.au)
\r
6 // TODO: Implement the Thread Safe stuff
\r
11 namespace System.IO {
\r
14 public abstract class TextReader : MarshalByRefObject, IDisposable {
\r
16 protected TextReader() { }
\r
18 public static readonly TextReader Null;
\r
20 public virtual void Close()
\r
25 void System.IDisposable.Dispose()
\r
30 protected virtual void Dispose( bool disposing )
\r
35 public virtual int Peek()
\r
40 public virtual int Read()
\r
45 public virtual int Read (char[] buffer, int index, int count)
\r
49 for (i = 0; i < count; i++) {
\r
50 if ((c = Read ()) == -1)
\r
52 buffer [index + i] = (char)c;
\r
58 public virtual int ReadBlock (char [] buffer, int index, int count)
\r
62 read_count = Read (buffer, index, count);
\r
63 index += read_count;
\r
64 count -= read_count;
\r
65 } while (read_count != 0 && count > 0);
\r
70 public virtual string ReadLine()
\r
72 return String.Empty;
\r
75 public virtual string ReadToEnd()
\r
77 return String.Empty;
\r
81 public static TextReader Synchronized( TextReader reader )
\r