other-licenses/7zstub/src/7zip/Archive/7z/7zDecode.h

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

michael@0 1 // 7zDecode.h
michael@0 2
michael@0 3 #ifndef __7Z_DECODE_H
michael@0 4 #define __7Z_DECODE_H
michael@0 5
michael@0 6 #include "../../IStream.h"
michael@0 7 #include "../../IPassword.h"
michael@0 8
michael@0 9 #include "../Common/CoderMixer2.h"
michael@0 10 #include "../Common/CoderMixer2MT.h"
michael@0 11 #ifdef _ST_MODE
michael@0 12 #include "../Common/CoderMixer2ST.h"
michael@0 13 #endif
michael@0 14 #ifndef EXCLUDE_COM
michael@0 15 #include "../Common/CoderLoader.h"
michael@0 16 #endif
michael@0 17
michael@0 18 #include "7zItem.h"
michael@0 19
michael@0 20 namespace NArchive {
michael@0 21 namespace N7z {
michael@0 22
michael@0 23 struct CBindInfoEx: public NCoderMixer2::CBindInfo
michael@0 24 {
michael@0 25 CRecordVector<CMethodID> CoderMethodIDs;
michael@0 26 void Clear()
michael@0 27 {
michael@0 28 CBindInfo::Clear();
michael@0 29 CoderMethodIDs.Clear();
michael@0 30 }
michael@0 31 };
michael@0 32
michael@0 33 class CDecoder
michael@0 34 {
michael@0 35 #ifndef EXCLUDE_COM
michael@0 36 CCoderLibraries _libraries;
michael@0 37 #endif
michael@0 38
michael@0 39 bool _bindInfoExPrevIsDefinded;
michael@0 40 CBindInfoEx _bindInfoExPrev;
michael@0 41
michael@0 42 bool _multiThread;
michael@0 43 #ifdef _ST_MODE
michael@0 44 NCoderMixer2::CCoderMixer2ST *_mixerCoderSTSpec;
michael@0 45 #endif
michael@0 46 NCoderMixer2::CCoderMixer2MT *_mixerCoderMTSpec;
michael@0 47 NCoderMixer2::CCoderMixer2 *_mixerCoderCommon;
michael@0 48
michael@0 49 CMyComPtr<ICompressCoder2> _mixerCoder;
michael@0 50 CObjectVector<CMyComPtr<IUnknown> > _decoders;
michael@0 51 // CObjectVector<CMyComPtr<ICompressCoder2> > _decoders2;
michael@0 52 public:
michael@0 53 CDecoder(bool multiThread);
michael@0 54 HRESULT Decode(IInStream *inStream,
michael@0 55 UInt64 startPos,
michael@0 56 const UInt64 *packSizes,
michael@0 57 const CFolder &folder,
michael@0 58 ISequentialOutStream *outStream,
michael@0 59 ICompressProgressInfo *compressProgress
michael@0 60 #ifndef _NO_CRYPTO
michael@0 61 , ICryptoGetTextPassword *getTextPasswordSpec
michael@0 62 #endif
michael@0 63 #ifdef COMPRESS_MT
michael@0 64 , bool mtMode, UInt32 numThreads
michael@0 65 #endif
michael@0 66 );
michael@0 67 };
michael@0 68
michael@0 69 }}
michael@0 70
michael@0 71 #endif

mercurial