init commit
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
using System.IO;
|
||||
using Org.BouncyCastle.Apache.Bzip2;
|
||||
using Org.BouncyCastle.Utilities.Zlib;
|
||||
|
||||
namespace Org.BouncyCastle.Bcpg.OpenPgp;
|
||||
|
||||
public class PgpCompressedData : PgpObject
|
||||
{
|
||||
private readonly CompressedDataPacket data;
|
||||
|
||||
public CompressionAlgorithmTag Algorithm => data.Algorithm;
|
||||
|
||||
public PgpCompressedData(BcpgInputStream bcpgInput)
|
||||
{
|
||||
data = (CompressedDataPacket)bcpgInput.ReadPacket();
|
||||
}
|
||||
|
||||
public Stream GetInputStream()
|
||||
{
|
||||
return data.GetInputStream();
|
||||
}
|
||||
|
||||
public Stream GetDataStream()
|
||||
{
|
||||
return Algorithm switch
|
||||
{
|
||||
CompressionAlgorithmTag.Uncompressed => GetInputStream(),
|
||||
CompressionAlgorithmTag.Zip => new ZInputStream(GetInputStream(), nowrap: true),
|
||||
CompressionAlgorithmTag.ZLib => new ZInputStream(GetInputStream()),
|
||||
CompressionAlgorithmTag.BZip2 => new CBZip2InputStream(GetInputStream()),
|
||||
_ => throw new PgpException("can't recognise compression algorithm: " + Algorithm),
|
||||
};
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user