summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/lzma/CPP/7zip/Compress/Lzma2Decoder.h
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/lzma/CPP/7zip/Compress/Lzma2Decoder.h')
-rw-r--r--3rdparty/lzma/CPP/7zip/Compress/Lzma2Decoder.h119
1 files changed, 59 insertions, 60 deletions
diff --git a/3rdparty/lzma/CPP/7zip/Compress/Lzma2Decoder.h b/3rdparty/lzma/CPP/7zip/Compress/Lzma2Decoder.h
index a87912fb596..7ca717e7f41 100644
--- a/3rdparty/lzma/CPP/7zip/Compress/Lzma2Decoder.h
+++ b/3rdparty/lzma/CPP/7zip/Compress/Lzma2Decoder.h
@@ -1,86 +1,85 @@
// Lzma2Decoder.h
-#ifndef __LZMA2_DECODER_H
-#define __LZMA2_DECODER_H
+#ifndef ZIP7_INC_LZMA2_DECODER_H
+#define ZIP7_INC_LZMA2_DECODER_H
-#include "../../../C/Lzma2Dec.h"
+#include "../../../C/Lzma2DecMt.h"
-#include "../../Common/MyCom.h"
-
-#include "../ICoder.h"
+#include "../Common/CWrappers.h"
namespace NCompress {
namespace NLzma2 {
-class CDecoder:
+class CDecoder Z7_final:
public ICompressCoder,
public ICompressSetDecoderProperties2,
public ICompressSetFinishMode,
public ICompressGetInStreamProcessedSize,
public ICompressSetBufSize,
- #ifndef NO_READ_FROM_CODER
+ #ifndef Z7_NO_READ_FROM_CODER
public ICompressSetInStream,
public ICompressSetOutStreamSize,
public ISequentialInStream,
- #endif
+ #endif
+ #ifndef Z7_ST
+ public ICompressSetCoderMt,
+ public ICompressSetMemLimit,
+ #endif
public CMyUnknownImp
{
- CMyComPtr<ISequentialInStream> _inStream;
- Byte *_inBuf;
- UInt32 _inPos;
- UInt32 _inSize;
-
- bool _finishMode;
- bool _outSizeDefined;
- UInt64 _outSize;
-
- UInt64 _inSizeProcessed;
- UInt64 _outSizeProcessed;
-
+ Z7_COM_QI_BEGIN2(ICompressCoder)
+ Z7_COM_QI_ENTRY(ICompressSetDecoderProperties2)
+ Z7_COM_QI_ENTRY(ICompressSetFinishMode)
+ Z7_COM_QI_ENTRY(ICompressGetInStreamProcessedSize)
+ Z7_COM_QI_ENTRY(ICompressSetBufSize)
+ #ifndef Z7_NO_READ_FROM_CODER
+ Z7_COM_QI_ENTRY(ICompressSetInStream)
+ Z7_COM_QI_ENTRY(ICompressSetOutStreamSize)
+ Z7_COM_QI_ENTRY(ISequentialInStream)
+ #endif
+ #ifndef Z7_ST
+ Z7_COM_QI_ENTRY(ICompressSetCoderMt)
+ Z7_COM_QI_ENTRY(ICompressSetMemLimit)
+ #endif
+ Z7_COM_QI_END
+ Z7_COM_ADDREF_RELEASE
+
+ Z7_IFACE_COM7_IMP(ICompressCoder)
+ Z7_IFACE_COM7_IMP(ICompressSetDecoderProperties2)
+ Z7_IFACE_COM7_IMP(ICompressSetFinishMode)
+ Z7_IFACE_COM7_IMP(ICompressGetInStreamProcessedSize)
+ Z7_IFACE_COM7_IMP(ICompressSetBufSize)
+ #ifndef Z7_NO_READ_FROM_CODER
+ Z7_IFACE_COM7_IMP(ICompressSetOutStreamSize)
+ Z7_IFACE_COM7_IMP(ICompressSetInStream)
+ Z7_IFACE_COM7_IMP(ISequentialInStream)
+ #endif
+ #ifndef Z7_ST
+ Z7_IFACE_COM7_IMP(ICompressSetCoderMt)
+ Z7_IFACE_COM7_IMP(ICompressSetMemLimit)
+ #endif
+
+ CLzma2DecMtHandle _dec;
+ UInt64 _inProcessed;
+ Byte _prop;
+ int _finishMode;
UInt32 _inBufSize;
- UInt32 _inBufSizeNew;
- UInt32 _outStepSize;
-
- CLzma2Dec _state;
-public:
-
- MY_QUERYINTERFACE_BEGIN2(ICompressCoder)
- MY_QUERYINTERFACE_ENTRY(ICompressSetDecoderProperties2)
- MY_QUERYINTERFACE_ENTRY(ICompressSetFinishMode)
- MY_QUERYINTERFACE_ENTRY(ICompressGetInStreamProcessedSize)
- MY_QUERYINTERFACE_ENTRY(ICompressSetBufSize)
- #ifndef NO_READ_FROM_CODER
- MY_QUERYINTERFACE_ENTRY(ICompressSetInStream)
- MY_QUERYINTERFACE_ENTRY(ICompressSetOutStreamSize)
- MY_QUERYINTERFACE_ENTRY(ISequentialInStream)
- #endif
- MY_QUERYINTERFACE_END
- MY_ADDREF_RELEASE
-
- STDMETHOD(Code)(ISequentialInStream *inStream, ISequentialOutStream *outStream,
- const UInt64 *inSize, const UInt64 *outSize, ICompressProgressInfo *progress);
+ UInt32 _outStep;
- STDMETHOD(SetDecoderProperties2)(const Byte *data, UInt32 size);
+ #ifndef Z7_ST
+ int _tryMt;
+ UInt32 _numThreads;
+ UInt64 _memUsage;
+ #endif
- STDMETHOD(SetFinishMode)(UInt32 finishMode);
-
- STDMETHOD(GetInStreamProcessedSize)(UInt64 *value);
-
- STDMETHOD(SetInBufSize)(UInt32 streamIndex, UInt32 size);
- STDMETHOD(SetOutBufSize)(UInt32 streamIndex, UInt32 size);
-
- STDMETHOD(SetInStream)(ISequentialInStream *inStream);
- STDMETHOD(ReleaseInStream)();
-
- STDMETHOD(SetOutStreamSize)(const UInt64 *outSize);
-
- #ifndef NO_READ_FROM_CODER
- STDMETHOD(Read)(void *data, UInt32 size, UInt32 *processedSize);
- #endif
+ #ifndef Z7_NO_READ_FROM_CODER
+ CMyComPtr<ISequentialInStream> _inStream;
+ CSeqInStreamWrap _inWrap;
+ #endif
+public:
CDecoder();
- virtual ~CDecoder();
-
+ ~CDecoder();
};
}}