From d9666cf046a8453b33b3e2fbf4d82295a9f87df3 Mon Sep 17 00:00:00 2001 From: Igor Pavlov Date: Sat, 20 Jan 2007 00:00:00 +0000 Subject: 4.44 beta --- CPP/7zip/Archive/Zip/ZipAddCommon.h | 58 +++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100755 CPP/7zip/Archive/Zip/ZipAddCommon.h (limited to 'CPP/7zip/Archive/Zip/ZipAddCommon.h') diff --git a/CPP/7zip/Archive/Zip/ZipAddCommon.h b/CPP/7zip/Archive/Zip/ZipAddCommon.h new file mode 100755 index 00000000..26cec643 --- /dev/null +++ b/CPP/7zip/Archive/Zip/ZipAddCommon.h @@ -0,0 +1,58 @@ +// Zip/AddCommon.h + +#ifndef __ZIP_ADDCOMMON_H +#define __ZIP_ADDCOMMON_H + +#include "../../ICoder.h" +#include "../../IProgress.h" +#include "../../Compress/Copy/CopyCoder.h" +#ifndef COMPRESS_DEFLATE +#include "../Common/CoderLoader.h" +#endif +#include "../Common/FilterCoder.h" +#include "ZipCompressionMode.h" +#include "../../Crypto/Zip/ZipCipher.h" +#include "../../Crypto/WzAES/WzAES.h" + +namespace NArchive { +namespace NZip { + +struct CCompressingResult +{ + UInt64 UnpackSize; + UInt64 PackSize; + UInt32 CRC; + UInt16 Method; + Byte ExtractVersion; +}; + +class CAddCommon +{ + CCompressionMethodMode _options; + NCompress::CCopyCoder *_copyCoderSpec; + CMyComPtr _copyCoder; + + #ifndef COMPRESS_DEFLATE + CCoderLibrary _compressLib; + #endif + CMyComPtr _compressEncoder; + + CFilterCoder *_cryptoStreamSpec; + CMyComPtr _cryptoStream; + + NCrypto::NZip::CEncoder *_filterSpec; + NCrypto::NWzAES::CEncoder *_filterAesSpec; + + CMyComPtr _zipCryptoFilter; + CMyComPtr _aesFilter; + + +public: + CAddCommon(const CCompressionMethodMode &options); + HRESULT Compress(ISequentialInStream *inStream, IOutStream *outStream, + ICompressProgressInfo *progress, CCompressingResult &operationResult); +}; + +}} + +#endif -- cgit v1.2.3