internal void CloseRead() { if (reader != null) { try { Stream stream = reader.BaseStream; reader.Close(); //can't close as it will close the basestream reader = null; if (writer == null) stream.Close(); } catch (System.ObjectDisposedException) { } } }
internal void Init(Stream stream, int mode) { InitOpenFile(mode, 0, 0, null, null, stream, null); if (stream.CanRead) reader = new UngetcStreamReader(stream); if (stream.CanWrite) { writer = new StreamWriter(stream); writer.AutoFlush = true; } }
internal void Init(string name, FileMode fm, FileAccess fa, int mode) { Stream stream = new FileStream(name, fm, fa); InitOpenFile(mode, 0, 0, name, null, stream, null); if (fa.Equals(FileAccess.Read) || fa.Equals(FileAccess.ReadWrite)) { reader = new UngetcStreamReader(stream); } if (fa.Equals(FileAccess.Write) || fa.Equals(FileAccess.ReadWrite)) { writer = new StreamWriter(stream); } }
internal IO(Stream stream) : base(Ruby.Runtime.Init.rb_cIO) { if (stream.CanRead) reader = new UngetcStreamReader(stream); if (stream.CanWrite) { writer = new StreamWriter(stream); writer.AutoFlush = true; } this.f = stream; }