using System; using System.IO; using System.IO.Compression; namespace Packaging.Targets.IO { /// /// Provides read-only access do a decompressed , and keeps track of the current position. /// internal class GZipDecompressor : GZipStream { private long position = 0; public GZipDecompressor(Stream stream, bool leaveOpen) : base(stream, CompressionMode.Decompress, leaveOpen) { } /// public override long Position { get { return this.position; } set { throw new NotSupportedException(); } } /// public override int Read(byte[] array, int offset, int count) { var read = base.Read(array, offset, count); this.position += read; return read; } } }