// Zip/AddCommon.h #pragma once #ifndef __ZIP_ADDCOMMON_H #define __ZIP_ADDCOMMON_H #include "../../ICoder.h" #include "../../IProgress.h" #include "../../Compress/Copy/CopyCoder.h" #include "../Common/CoderMixer.h" #ifndef COMPRESS_DEFLATE #include "../Common/CoderLoader.h" #endif #include "ZipCompressionMode.h" namespace NArchive { namespace NZip { struct CCompressingResult { BYTE Method; UINT64 PackSize; BYTE ExtractVersion; }; class CAddCommon { CCompressionMethodMode _options; NCompress::CCopyCoder *_copyCoderSpec; CMyComPtr _copyCoder; #ifndef COMPRESS_DEFLATE CCoderLibrary _compressLib; #endif CMyComPtr _compressEncoder; #ifndef CRYPTO_ZIP CCoderLibrary _cryptoLib; #endif CMyComPtr _cryptoEncoder; CCoderMixer *_mixerCoderSpec; CMyComPtr _mixerCoder; BYTE _mixerCoderMethod; // CMyComPtr getTextPassword; public: CAddCommon(const CCompressionMethodMode &options); HRESULT Compress(IInStream *inStream, IOutStream *outStream, UINT64 inSize, ICompressProgressInfo *progress, CCompressingResult &operationResult); }; }} #endif