Source code
Revision control
Copy as Markdown
Other Tools
// Compress/CopyCoder.h↩
↩
#ifndef __COMPRESS_COPY_CODER_H↩
#define __COMPRESS_COPY_CODER_H↩
↩
#include "../../Common/MyCom.h"↩
↩
#include "../ICoder.h"↩
↩
namespace NCompress {↩
↩
class CCopyCoder:↩
public ICompressCoder,↩
public ICompressSetInStream,↩
public ISequentialInStream,↩
public ICompressSetFinishMode,↩
public ICompressGetInStreamProcessedSize,↩
public CMyUnknownImp↩
{↩
Byte *_buf;↩
CMyComPtr<ISequentialInStream> _inStream;↩
public:↩
UInt64 TotalSize;↩
↩
CCopyCoder(): _buf(0), 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);↩
HRESULT CopyStream_ExactSize(ISequentialInStream *inStream, ISequentialOutStream *outStream, UInt64 size, ICompressProgressInfo *progress);↩
↩
}↩
↩
#endif↩