6 #include "../../IStream.h"
7 #include "../../IPassword.h"
9 #include "../Common/CoderMixer2.h"
10 #include "../Common/CoderMixer2MT.h"
12 #include "../Common/CoderMixer2ST.h"
15 #include "../Common/CoderLoader.h"
23 struct CBindInfoEx
: public NCoderMixer2::CBindInfo
25 CRecordVector
<CMethodID
> CoderMethodIDs
;
29 CoderMethodIDs
.Clear();
36 CCoderLibraries _libraries
;
39 bool _bindInfoExPrevIsDefinded
;
40 CBindInfoEx _bindInfoExPrev
;
44 NCoderMixer2::CCoderMixer2ST
*_mixerCoderSTSpec
;
46 NCoderMixer2::CCoderMixer2MT
*_mixerCoderMTSpec
;
47 NCoderMixer2::CCoderMixer2
*_mixerCoderCommon
;
49 CMyComPtr
<ICompressCoder2
> _mixerCoder
;
50 CObjectVector
<CMyComPtr
<IUnknown
> > _decoders
;
51 // CObjectVector<CMyComPtr<ICompressCoder2> > _decoders2;
53 CDecoder(bool multiThread
);
54 HRESULT
Decode(IInStream
*inStream
,
56 const UInt64
*packSizes
,
57 const CFolder
&folder
,
58 ISequentialOutStream
*outStream
,
59 ICompressProgressInfo
*compressProgress
61 , ICryptoGetTextPassword
*getTextPasswordSpec
64 , bool mtMode
, UInt32 numThreads