Source code
Revision control
Copy as Markdown
Other Tools
// 7zDecode.h↩
↩
#ifndef __7Z_DECODE_H↩
#define __7Z_DECODE_H↩
↩
#include "../Common/CoderMixer2.h"↩
↩
#include "7zIn.h"↩
↩
namespace NArchive {↩
namespace N7z {↩
↩
struct CBindInfoEx: public NCoderMixer2::CBindInfo↩
{↩
CRecordVector<CMethodId> CoderMethodIDs;↩
↩
void Clear()↩
{↩
CBindInfo::Clear();↩
CoderMethodIDs.Clear();↩
}↩
};↩
↩
class CDecoder↩
{↩
bool _bindInfoPrev_Defined;↩
CBindInfoEx _bindInfoPrev;↩
↩
bool _useMixerMT;↩
↩
#ifdef USE_MIXER_ST↩
NCoderMixer2::CMixerST *_mixerST;↩
#endif↩
↩
#ifdef USE_MIXER_MT↩
NCoderMixer2::CMixerMT *_mixerMT;↩
#endif↩
↩
NCoderMixer2::CMixer *_mixer;↩
CMyComPtr<IUnknown> _mixerRef;↩
↩
public:↩
↩
CDecoder(bool useMixerMT);↩
↩
HRESULT Decode(↩
DECL_EXTERNAL_CODECS_LOC_VARS↩
IInStream *inStream,↩
UInt64 startPos,↩
const CFolders &folders, unsigned folderIndex,↩
const UInt64 *unpackSize // if (!unpackSize), then full folder is required↩
// if (unpackSize), then only *unpackSize bytes from folder are required↩
↩
, ISequentialOutStream *outStream↩
, ICompressProgressInfo *compressProgress↩
↩
, ISequentialInStream **inStreamMainRes↩
, bool &dataAfterEnd_Error↩
↩
_7Z_DECODER_CRYPRO_VARS_DECL↩
↩
#if !defined(_7ZIP_ST)↩
, bool mtMode, UInt32 numThreads, UInt64 memUsage↩
#endif↩
);↩
};↩
↩
}}↩
↩
#endif↩