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,7 +1,7 @@
// Compress/CopyCoder.h
#ifndef __COMPRESS_COPY_CODER_H
#define __COMPRESS_COPY_CODER_H
#ifndef ZIP7_INC_COMPRESS_COPY_CODER_H
#define ZIP7_INC_COMPRESS_COPY_CODER_H
#include "../../Common/MyCom.h"
@@ -9,36 +9,21 @@
namespace NCompress {
class CCopyCoder:
public ICompressCoder,
public ICompressSetInStream,
public ISequentialInStream,
public ICompressSetFinishMode,
public ICompressGetInStreamProcessedSize,
public CMyUnknownImp
{
Z7_CLASS_IMP_COM_5(
CCopyCoder
, ICompressCoder
, ICompressSetInStream
, ISequentialInStream
, ICompressSetFinishMode
, ICompressGetInStreamProcessedSize
)
Byte *_buf;
CMyComPtr<ISequentialInStream> _inStream;
public:
UInt64 TotalSize;
CCopyCoder(): _buf(0), TotalSize(0) {};
CCopyCoder(): _buf(NULL), TotalSize(0) {}
~CCopyCoder();
MY_UNKNOWN_IMP5(
ICompressCoder,
ICompressSetInStream,
ISequentialInStream,
ICompressSetFinishMode,
ICompressGetInStreamProcessedSize)
STDMETHOD(Code)(ISequentialInStream *inStream, ISequentialOutStream *outStream,
const UInt64 *inSize, const UInt64 *outSize, ICompressProgressInfo *progress);
STDMETHOD(SetInStream)(ISequentialInStream *inStream);
STDMETHOD(ReleaseInStream)();
STDMETHOD(Read)(void *data, UInt32 size, UInt32 *processedSize);
STDMETHOD(SetFinishMode)(UInt32 finishMode);
STDMETHOD(GetInStreamProcessedSize)(UInt64 *value);
};
HRESULT CopyStream(ISequentialInStream *inStream, ISequentialOutStream *outStream, ICompressProgressInfo *progress);