Пример #1
0
 public DirectToArchiveWriterStream(CheckSumAndSizeWriteStream crcSizeStream, ZipArchiveEntry entry)
 {
     _crcSizeStream = crcSizeStream;
     _everWritten   = false;
     _isDisposed    = false;
     _entry         = entry;
     _usedZip64inLH = false;
     _canWrite      = true;
 }
Пример #2
0
        private Stream OpenInWriteMode()
        {
            if (_everOpenedForWrite)
            {
                throw new IOException(Messages.CreateModeWriteOnceAndOneEntryAtATime);
            }
            _everOpenedForWrite = true;
            CheckSumAndSizeWriteStream crcSizeStream = GetDataCompressor(_archive.ArchiveStream, true, delegate(object o, EventArgs e)
            {
                _archive.ReleaseArchiveStream(this);
                _outstandingWriteStream = null;
            });

            _outstandingWriteStream = new DirectToArchiveWriterStream(crcSizeStream, this);
            return(new WrappedStream(_outstandingWriteStream, delegate(object o, EventArgs e)
            {
                _outstandingWriteStream.Close();
            }));
        }