diff options
Diffstat (limited to '3rdparty/lzma/CPP/7zip/Compress/LzmaDecoder.h')
-rw-r--r-- | 3rdparty/lzma/CPP/7zip/Compress/LzmaDecoder.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/3rdparty/lzma/CPP/7zip/Compress/LzmaDecoder.h b/3rdparty/lzma/CPP/7zip/Compress/LzmaDecoder.h index d28a4634bc6..f1f839a4f1b 100644 --- a/3rdparty/lzma/CPP/7zip/Compress/LzmaDecoder.h +++ b/3rdparty/lzma/CPP/7zip/Compress/LzmaDecoder.h @@ -14,6 +14,7 @@ namespace NLzma { class CDecoder: public ICompressCoder, public ICompressSetDecoderProperties2, + public ICompressSetFinishMode, public ICompressSetBufSize, #ifndef NO_READ_FROM_CODER public ICompressSetInStream, @@ -45,6 +46,7 @@ class CDecoder: public: MY_QUERYINTERFACE_BEGIN2(ICompressCoder) MY_QUERYINTERFACE_ENTRY(ICompressSetDecoderProperties2) + MY_QUERYINTERFACE_ENTRY(ICompressSetFinishMode) MY_QUERYINTERFACE_ENTRY(ICompressSetBufSize) #ifndef NO_READ_FROM_CODER MY_QUERYINTERFACE_ENTRY(ICompressSetInStream) @@ -57,6 +59,7 @@ public: STDMETHOD(Code)(ISequentialInStream *inStream, ISequentialOutStream *outStream, const UInt64 *inSize, const UInt64 *outSize, ICompressProgressInfo *progress); STDMETHOD(SetDecoderProperties2)(const Byte *data, UInt32 size); + STDMETHOD(SetFinishMode)(UInt32 finishMode); STDMETHOD(SetOutStreamSize)(const UInt64 *outSize); STDMETHOD(SetInBufSize)(UInt32 streamIndex, UInt32 size); STDMETHOD(SetOutBufSize)(UInt32 streamIndex, UInt32 size); @@ -73,10 +76,14 @@ public: #endif - bool FinishStream; + bool FinishStream; // set it before decoding, if you need to decode full LZMA stream + + bool NeedMoreInput; // it's set by decoder, if it needs more input data to decode stream CDecoder(); virtual ~CDecoder(); + + UInt64 GetOutputProcessedSize() const { return _outSizeProcessed; } }; }} |