Mercurial > vba-linux
view src/win32/7zip/7z/CPP/7zip/Archive/7z/7zDecode.h @ 1:f9f4f1b99eed
importing src directory
author | Robert McIntyre <rlm@mit.edu> |
---|---|
date | Sat, 03 Mar 2012 10:31:27 -0600 |
parents | |
children |
line wrap: on
line source
1 // 7zDecode.h3 #ifndef __7Z_DECODE_H4 #define __7Z_DECODE_H6 #include "../../IStream.h"7 #include "../../IPassword.h"9 #include "../Common/CoderMixer2.h"10 #include "../Common/CoderMixer2MT.h"11 #ifdef _ST_MODE12 #include "../Common/CoderMixer2ST.h"13 #endif15 #include "../../Common/CreateCoder.h"17 #include "7zItem.h"19 namespace NArchive {20 namespace N7z {22 struct CBindInfoEx: public NCoderMixer::CBindInfo23 {24 CRecordVector<CMethodId> CoderMethodIDs;25 void Clear()26 {27 CBindInfo::Clear();28 CoderMethodIDs.Clear();29 }30 };32 class CDecoder33 {34 bool _bindInfoExPrevIsDefined;35 CBindInfoEx _bindInfoExPrev;37 bool _multiThread;38 #ifdef _ST_MODE39 NCoderMixer::CCoderMixer2ST *_mixerCoderSTSpec;40 #endif41 NCoderMixer::CCoderMixer2MT *_mixerCoderMTSpec;42 NCoderMixer::CCoderMixer2 *_mixerCoderCommon;44 CMyComPtr<ICompressCoder2> _mixerCoder;45 CObjectVector<CMyComPtr<IUnknown> > _decoders;46 // CObjectVector<CMyComPtr<ICompressCoder2> > _decoders2;47 public:48 CDecoder(bool multiThread);49 HRESULT Decode(50 DECL_EXTERNAL_CODECS_LOC_VARS51 IInStream *inStream,52 UInt64 startPos,53 const UInt64 *packSizes,54 const CFolder &folder,55 ISequentialOutStream *outStream,56 ICompressProgressInfo *compressProgress57 #ifndef _NO_CRYPTO58 , ICryptoGetTextPassword *getTextPasswordSpec, bool &passwordIsDefined59 #endif60 #ifdef COMPRESS_MT61 , bool mtMode, UInt32 numThreads62 #endif63 );64 };66 }}68 #endif