Пример #1
0
 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) { }
     }
 }
Пример #2
0
        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;
            }
        }
Пример #3
0
        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);
            }
        }
Пример #4
0
        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;
        }