Mercurial > vba-linux
comparison 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 |
comparison
equal
deleted
inserted
replaced
0:8ced16adf2e1 | 1:f9f4f1b99eed |
---|---|
1 // 7zDecode.h | |
2 | |
3 #ifndef __7Z_DECODE_H | |
4 #define __7Z_DECODE_H | |
5 | |
6 #include "../../IStream.h" | |
7 #include "../../IPassword.h" | |
8 | |
9 #include "../Common/CoderMixer2.h" | |
10 #include "../Common/CoderMixer2MT.h" | |
11 #ifdef _ST_MODE | |
12 #include "../Common/CoderMixer2ST.h" | |
13 #endif | |
14 | |
15 #include "../../Common/CreateCoder.h" | |
16 | |
17 #include "7zItem.h" | |
18 | |
19 namespace NArchive { | |
20 namespace N7z { | |
21 | |
22 struct CBindInfoEx: public NCoderMixer::CBindInfo | |
23 { | |
24 CRecordVector<CMethodId> CoderMethodIDs; | |
25 void Clear() | |
26 { | |
27 CBindInfo::Clear(); | |
28 CoderMethodIDs.Clear(); | |
29 } | |
30 }; | |
31 | |
32 class CDecoder | |
33 { | |
34 bool _bindInfoExPrevIsDefined; | |
35 CBindInfoEx _bindInfoExPrev; | |
36 | |
37 bool _multiThread; | |
38 #ifdef _ST_MODE | |
39 NCoderMixer::CCoderMixer2ST *_mixerCoderSTSpec; | |
40 #endif | |
41 NCoderMixer::CCoderMixer2MT *_mixerCoderMTSpec; | |
42 NCoderMixer::CCoderMixer2 *_mixerCoderCommon; | |
43 | |
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_VARS | |
51 IInStream *inStream, | |
52 UInt64 startPos, | |
53 const UInt64 *packSizes, | |
54 const CFolder &folder, | |
55 ISequentialOutStream *outStream, | |
56 ICompressProgressInfo *compressProgress | |
57 #ifndef _NO_CRYPTO | |
58 , ICryptoGetTextPassword *getTextPasswordSpec, bool &passwordIsDefined | |
59 #endif | |
60 #ifdef COMPRESS_MT | |
61 , bool mtMode, UInt32 numThreads | |
62 #endif | |
63 ); | |
64 }; | |
65 | |
66 }} | |
67 | |
68 #endif |