This commit is contained in:
Igor Pavlov
2023-12-22 17:17:05 +00:00
committed by Kornel
parent ec44a8a070
commit a36c48cece
954 changed files with 42199 additions and 25482 deletions

View File

@@ -1,23 +1,21 @@
// ZlibEncoder.h
#ifndef __ZLIB_ENCODER_H
#define __ZLIB_ENCODER_H
#ifndef ZIP7_INC_ZLIB_ENCODER_H
#define ZIP7_INC_ZLIB_ENCODER_H
#include "DeflateEncoder.h"
namespace NCompress {
namespace NZlib {
class CInStreamWithAdler:
public ISequentialInStream,
public CMyUnknownImp
{
Z7_CLASS_IMP_NOQIB_1(
CInStreamWithAdler
, ISequentialInStream
)
CMyComPtr<ISequentialInStream> _stream;
UInt32 _adler;
UInt64 _size;
public:
MY_UNKNOWN_IMP
STDMETHOD(Read)(void *data, UInt32 size, UInt32 *processedSize);
void SetStream(ISequentialInStream *stream) { _stream = stream; }
void ReleaseStream() { _stream.Release(); }
void Init() { _adler = 1; _size = 0; } // ADLER_INIT_VAL
@@ -25,10 +23,10 @@ public:
UInt64 GetSize() const { return _size; }
};
class CEncoder:
public ICompressCoder,
public CMyUnknownImp
{
Z7_CLASS_IMP_NOQIB_1(
CEncoder
, ICompressCoder
)
CInStreamWithAdler *AdlerSpec;
CMyComPtr<ISequentialInStream> AdlerStream;
CMyComPtr<ICompressCoder> DeflateEncoder;
@@ -36,11 +34,7 @@ public:
NCompress::NDeflate::NEncoder::CCOMCoder *DeflateEncoderSpec;
void Create();
STDMETHOD(Code)(ISequentialInStream *inStream, ISequentialOutStream *outStream,
const UInt64 *inSize, const UInt64 *outSize, ICompressProgressInfo *progress);
UInt64 GetInputProcessedSize() const { return AdlerSpec->GetSize(); }
MY_UNKNOWN_IMP
};
}}