1*f6dc9357SAndroid Build Coastguard Worker // Lzma2Decoder.h 2*f6dc9357SAndroid Build Coastguard Worker 3*f6dc9357SAndroid Build Coastguard Worker #ifndef ZIP7_INC_LZMA2_DECODER_H 4*f6dc9357SAndroid Build Coastguard Worker #define ZIP7_INC_LZMA2_DECODER_H 5*f6dc9357SAndroid Build Coastguard Worker 6*f6dc9357SAndroid Build Coastguard Worker #include "../../../C/Lzma2DecMt.h" 7*f6dc9357SAndroid Build Coastguard Worker 8*f6dc9357SAndroid Build Coastguard Worker #include "../Common/CWrappers.h" 9*f6dc9357SAndroid Build Coastguard Worker 10*f6dc9357SAndroid Build Coastguard Worker namespace NCompress { 11*f6dc9357SAndroid Build Coastguard Worker namespace NLzma2 { 12*f6dc9357SAndroid Build Coastguard Worker 13*f6dc9357SAndroid Build Coastguard Worker class CDecoder Z7_final: 14*f6dc9357SAndroid Build Coastguard Worker public ICompressCoder, 15*f6dc9357SAndroid Build Coastguard Worker public ICompressSetDecoderProperties2, 16*f6dc9357SAndroid Build Coastguard Worker public ICompressSetFinishMode, 17*f6dc9357SAndroid Build Coastguard Worker public ICompressGetInStreamProcessedSize, 18*f6dc9357SAndroid Build Coastguard Worker public ICompressSetBufSize, 19*f6dc9357SAndroid Build Coastguard Worker #ifndef Z7_NO_READ_FROM_CODER 20*f6dc9357SAndroid Build Coastguard Worker public ICompressSetInStream, 21*f6dc9357SAndroid Build Coastguard Worker public ICompressSetOutStreamSize, 22*f6dc9357SAndroid Build Coastguard Worker public ISequentialInStream, 23*f6dc9357SAndroid Build Coastguard Worker #endif 24*f6dc9357SAndroid Build Coastguard Worker #ifndef Z7_ST 25*f6dc9357SAndroid Build Coastguard Worker public ICompressSetCoderMt, 26*f6dc9357SAndroid Build Coastguard Worker public ICompressSetMemLimit, 27*f6dc9357SAndroid Build Coastguard Worker #endif 28*f6dc9357SAndroid Build Coastguard Worker public CMyUnknownImp 29*f6dc9357SAndroid Build Coastguard Worker { 30*f6dc9357SAndroid Build Coastguard Worker Z7_COM_QI_BEGIN2(ICompressCoder) 31*f6dc9357SAndroid Build Coastguard Worker Z7_COM_QI_ENTRY(ICompressSetDecoderProperties2) 32*f6dc9357SAndroid Build Coastguard Worker Z7_COM_QI_ENTRY(ICompressSetFinishMode) 33*f6dc9357SAndroid Build Coastguard Worker Z7_COM_QI_ENTRY(ICompressGetInStreamProcessedSize) 34*f6dc9357SAndroid Build Coastguard Worker Z7_COM_QI_ENTRY(ICompressSetBufSize) 35*f6dc9357SAndroid Build Coastguard Worker #ifndef Z7_NO_READ_FROM_CODER 36*f6dc9357SAndroid Build Coastguard Worker Z7_COM_QI_ENTRY(ICompressSetInStream) 37*f6dc9357SAndroid Build Coastguard Worker Z7_COM_QI_ENTRY(ICompressSetOutStreamSize) 38*f6dc9357SAndroid Build Coastguard Worker Z7_COM_QI_ENTRY(ISequentialInStream) 39*f6dc9357SAndroid Build Coastguard Worker #endif 40*f6dc9357SAndroid Build Coastguard Worker #ifndef Z7_ST 41*f6dc9357SAndroid Build Coastguard Worker Z7_COM_QI_ENTRY(ICompressSetCoderMt) 42*f6dc9357SAndroid Build Coastguard Worker Z7_COM_QI_ENTRY(ICompressSetMemLimit) 43*f6dc9357SAndroid Build Coastguard Worker #endif 44*f6dc9357SAndroid Build Coastguard Worker Z7_COM_QI_END 45*f6dc9357SAndroid Build Coastguard Worker Z7_COM_ADDREF_RELEASE 46*f6dc9357SAndroid Build Coastguard Worker 47*f6dc9357SAndroid Build Coastguard Worker Z7_IFACE_COM7_IMP(ICompressCoder) 48*f6dc9357SAndroid Build Coastguard Worker Z7_IFACE_COM7_IMP(ICompressSetDecoderProperties2) 49*f6dc9357SAndroid Build Coastguard Worker Z7_IFACE_COM7_IMP(ICompressSetFinishMode) 50*f6dc9357SAndroid Build Coastguard Worker Z7_IFACE_COM7_IMP(ICompressGetInStreamProcessedSize) 51*f6dc9357SAndroid Build Coastguard Worker Z7_IFACE_COM7_IMP(ICompressSetBufSize) 52*f6dc9357SAndroid Build Coastguard Worker #ifndef Z7_NO_READ_FROM_CODER 53*f6dc9357SAndroid Build Coastguard Worker Z7_IFACE_COM7_IMP(ICompressSetOutStreamSize) 54*f6dc9357SAndroid Build Coastguard Worker Z7_IFACE_COM7_IMP(ICompressSetInStream) 55*f6dc9357SAndroid Build Coastguard Worker Z7_IFACE_COM7_IMP(ISequentialInStream) 56*f6dc9357SAndroid Build Coastguard Worker #endif 57*f6dc9357SAndroid Build Coastguard Worker #ifndef Z7_ST 58*f6dc9357SAndroid Build Coastguard Worker Z7_IFACE_COM7_IMP(ICompressSetCoderMt) 59*f6dc9357SAndroid Build Coastguard Worker Z7_IFACE_COM7_IMP(ICompressSetMemLimit) 60*f6dc9357SAndroid Build Coastguard Worker #endif 61*f6dc9357SAndroid Build Coastguard Worker 62*f6dc9357SAndroid Build Coastguard Worker CLzma2DecMtHandle _dec; 63*f6dc9357SAndroid Build Coastguard Worker UInt64 _inProcessed; 64*f6dc9357SAndroid Build Coastguard Worker Byte _prop; 65*f6dc9357SAndroid Build Coastguard Worker int _finishMode; 66*f6dc9357SAndroid Build Coastguard Worker UInt32 _inBufSize; 67*f6dc9357SAndroid Build Coastguard Worker UInt32 _outStep; 68*f6dc9357SAndroid Build Coastguard Worker 69*f6dc9357SAndroid Build Coastguard Worker #ifndef Z7_ST 70*f6dc9357SAndroid Build Coastguard Worker int _tryMt; 71*f6dc9357SAndroid Build Coastguard Worker UInt32 _numThreads; 72*f6dc9357SAndroid Build Coastguard Worker UInt64 _memUsage; 73*f6dc9357SAndroid Build Coastguard Worker #endif 74*f6dc9357SAndroid Build Coastguard Worker 75*f6dc9357SAndroid Build Coastguard Worker #ifndef Z7_NO_READ_FROM_CODER 76*f6dc9357SAndroid Build Coastguard Worker CMyComPtr<ISequentialInStream> _inStream; 77*f6dc9357SAndroid Build Coastguard Worker CSeqInStreamWrap _inWrap; 78*f6dc9357SAndroid Build Coastguard Worker #endif 79*f6dc9357SAndroid Build Coastguard Worker 80*f6dc9357SAndroid Build Coastguard Worker public: 81*f6dc9357SAndroid Build Coastguard Worker CDecoder(); 82*f6dc9357SAndroid Build Coastguard Worker ~CDecoder(); 83*f6dc9357SAndroid Build Coastguard Worker }; 84*f6dc9357SAndroid Build Coastguard Worker 85*f6dc9357SAndroid Build Coastguard Worker }} 86*f6dc9357SAndroid Build Coastguard Worker 87*f6dc9357SAndroid Build Coastguard Worker #endif 88