1*f6dc9357SAndroid Build Coastguard Worker // LzmaEncoder.h 2*f6dc9357SAndroid Build Coastguard Worker 3*f6dc9357SAndroid Build Coastguard Worker #ifndef ZIP7_INC_LZMA_ENCODER_H 4*f6dc9357SAndroid Build Coastguard Worker #define ZIP7_INC_LZMA_ENCODER_H 5*f6dc9357SAndroid Build Coastguard Worker 6*f6dc9357SAndroid Build Coastguard Worker #include "../../../C/LzmaEnc.h" 7*f6dc9357SAndroid Build Coastguard Worker 8*f6dc9357SAndroid Build Coastguard Worker #include "../../Common/MyCom.h" 9*f6dc9357SAndroid Build Coastguard Worker 10*f6dc9357SAndroid Build Coastguard Worker #include "../ICoder.h" 11*f6dc9357SAndroid Build Coastguard Worker 12*f6dc9357SAndroid Build Coastguard Worker namespace NCompress { 13*f6dc9357SAndroid Build Coastguard Worker namespace NLzma { 14*f6dc9357SAndroid Build Coastguard Worker 15*f6dc9357SAndroid Build Coastguard Worker class CEncoder Z7_final: 16*f6dc9357SAndroid Build Coastguard Worker public ICompressCoder, 17*f6dc9357SAndroid Build Coastguard Worker public ICompressSetCoderProperties, 18*f6dc9357SAndroid Build Coastguard Worker public ICompressWriteCoderProperties, 19*f6dc9357SAndroid Build Coastguard Worker public ICompressSetCoderPropertiesOpt, 20*f6dc9357SAndroid Build Coastguard Worker public CMyUnknownImp 21*f6dc9357SAndroid Build Coastguard Worker { 22*f6dc9357SAndroid Build Coastguard Worker Z7_COM_UNKNOWN_IMP_4( 23*f6dc9357SAndroid Build Coastguard Worker ICompressCoder, 24*f6dc9357SAndroid Build Coastguard Worker ICompressSetCoderProperties, 25*f6dc9357SAndroid Build Coastguard Worker ICompressWriteCoderProperties, 26*f6dc9357SAndroid Build Coastguard Worker ICompressSetCoderPropertiesOpt) 27*f6dc9357SAndroid Build Coastguard Worker Z7_IFACE_COM7_IMP(ICompressCoder) 28*f6dc9357SAndroid Build Coastguard Worker public: 29*f6dc9357SAndroid Build Coastguard Worker Z7_IFACE_COM7_IMP(ICompressSetCoderProperties) 30*f6dc9357SAndroid Build Coastguard Worker Z7_IFACE_COM7_IMP(ICompressWriteCoderProperties) 31*f6dc9357SAndroid Build Coastguard Worker Z7_IFACE_COM7_IMP(ICompressSetCoderPropertiesOpt) 32*f6dc9357SAndroid Build Coastguard Worker 33*f6dc9357SAndroid Build Coastguard Worker CLzmaEncHandle _encoder; 34*f6dc9357SAndroid Build Coastguard Worker UInt64 _inputProcessed; 35*f6dc9357SAndroid Build Coastguard Worker 36*f6dc9357SAndroid Build Coastguard Worker CEncoder(); 37*f6dc9357SAndroid Build Coastguard Worker ~CEncoder(); 38*f6dc9357SAndroid Build Coastguard Worker GetInputProcessedSize()39*f6dc9357SAndroid Build Coastguard Worker UInt64 GetInputProcessedSize() const { return _inputProcessed; } IsWriteEndMark()40*f6dc9357SAndroid Build Coastguard Worker bool IsWriteEndMark() const { return LzmaEnc_IsWriteEndMark(_encoder) != 0; } 41*f6dc9357SAndroid Build Coastguard Worker }; 42*f6dc9357SAndroid Build Coastguard Worker 43*f6dc9357SAndroid Build Coastguard Worker }} 44*f6dc9357SAndroid Build Coastguard Worker 45*f6dc9357SAndroid Build Coastguard Worker #endif 46