Files
sharpcompress/SharpCompress/Common/Tar/TarFilePart.cs
2013-12-23 12:29:41 +00:00

39 lines
1.0 KiB
C#

using System.IO;
using SharpCompress.Common.Tar.Headers;
using SharpCompress.IO;
namespace SharpCompress.Common.Tar
{
internal class TarFilePart : FilePart
{
private readonly Stream seekableStream;
internal TarFilePart(TarHeader header, Stream seekableStream)
{
this.seekableStream = seekableStream;
Header = header;
}
internal TarHeader Header { get; private set; }
internal override string FilePartName
{
get { return Header.Name; }
}
internal override Stream GetCompressedStream()
{
if (seekableStream != null)
{
seekableStream.Position = Header.DataStartPosition.Value;
return new ReadOnlySubStream(seekableStream, Header.Size);
}
return Header.PackedStream;
}
internal override Stream GetRawStream()
{
return null;
}
}
}