1*f6dc9357SAndroid Build Coastguard Worker // ZlibEncoder.h 2*f6dc9357SAndroid Build Coastguard Worker 3*f6dc9357SAndroid Build Coastguard Worker #ifndef ZIP7_INC_ZLIB_ENCODER_H 4*f6dc9357SAndroid Build Coastguard Worker #define ZIP7_INC_ZLIB_ENCODER_H 5*f6dc9357SAndroid Build Coastguard Worker 6*f6dc9357SAndroid Build Coastguard Worker #include "DeflateEncoder.h" 7*f6dc9357SAndroid Build Coastguard Worker 8*f6dc9357SAndroid Build Coastguard Worker namespace NCompress { 9*f6dc9357SAndroid Build Coastguard Worker namespace NZlib { 10*f6dc9357SAndroid Build Coastguard Worker 11*f6dc9357SAndroid Build Coastguard Worker Z7_CLASS_IMP_NOQIB_1( 12*f6dc9357SAndroid Build Coastguard Worker CInStreamWithAdler 13*f6dc9357SAndroid Build Coastguard Worker , ISequentialInStream 14*f6dc9357SAndroid Build Coastguard Worker ) 15*f6dc9357SAndroid Build Coastguard Worker CMyComPtr<ISequentialInStream> _stream; 16*f6dc9357SAndroid Build Coastguard Worker UInt32 _adler; 17*f6dc9357SAndroid Build Coastguard Worker UInt64 _size; 18*f6dc9357SAndroid Build Coastguard Worker public: SetStream(ISequentialInStream * stream)19*f6dc9357SAndroid Build Coastguard Worker void SetStream(ISequentialInStream *stream) { _stream = stream; } ReleaseStream()20*f6dc9357SAndroid Build Coastguard Worker void ReleaseStream() { _stream.Release(); } Init()21*f6dc9357SAndroid Build Coastguard Worker void Init() { _adler = 1; _size = 0; } // ADLER_INIT_VAL GetAdler()22*f6dc9357SAndroid Build Coastguard Worker UInt32 GetAdler() const { return _adler; } GetSize()23*f6dc9357SAndroid Build Coastguard Worker UInt64 GetSize() const { return _size; } 24*f6dc9357SAndroid Build Coastguard Worker }; 25*f6dc9357SAndroid Build Coastguard Worker 26*f6dc9357SAndroid Build Coastguard Worker Z7_CLASS_IMP_NOQIB_1( 27*f6dc9357SAndroid Build Coastguard Worker CEncoder 28*f6dc9357SAndroid Build Coastguard Worker , ICompressCoder 29*f6dc9357SAndroid Build Coastguard Worker ) 30*f6dc9357SAndroid Build Coastguard Worker CInStreamWithAdler *AdlerSpec; 31*f6dc9357SAndroid Build Coastguard Worker CMyComPtr<ISequentialInStream> AdlerStream; 32*f6dc9357SAndroid Build Coastguard Worker CMyComPtr<ICompressCoder> DeflateEncoder; 33*f6dc9357SAndroid Build Coastguard Worker public: 34*f6dc9357SAndroid Build Coastguard Worker NCompress::NDeflate::NEncoder::CCOMCoder *DeflateEncoderSpec; 35*f6dc9357SAndroid Build Coastguard Worker 36*f6dc9357SAndroid Build Coastguard Worker void Create(); GetInputProcessedSize()37*f6dc9357SAndroid Build Coastguard Worker UInt64 GetInputProcessedSize() const { return AdlerSpec->GetSize(); } 38*f6dc9357SAndroid Build Coastguard Worker }; 39*f6dc9357SAndroid Build Coastguard Worker 40*f6dc9357SAndroid Build Coastguard Worker }} 41*f6dc9357SAndroid Build Coastguard Worker 42*f6dc9357SAndroid Build Coastguard Worker #endif 43