Beispiel #1
0
        public override Stream OpenReadWrite()
        {
            lock (_lock)
            {
                if (m_openR > 0 || m_openRW > 0)
                {
                    return(null);
                }

                ObservableStream fileStream = new ObservableStream(m_fileStream);

                fileStream.Disposed += HandleReadWriteStreamDisposed;
                m_openRW++;
                FileStreamOpened();

                return(fileStream);
            }
        }
Beispiel #2
0
        public override Stream OpenReadOnly()
        {
            lock (_lock)
            {
                if (m_openRW > 0)
                {
                    return(null);
                }

                ObservableStream fileStream = new ObservableStream(m_fileStream);

                fileStream.Disposed += HandleReadStreamDisposed;
                m_openR++;
                FileStreamOpened();
                fileStream.Position = 0;

                return(fileStream);
            }
        }