1 // Compress/CopyCoder.h
2
3 #ifndef ZIP7_INC_COMPRESS_COPY_CODER_H
4 #define ZIP7_INC_COMPRESS_COPY_CODER_H
5
6 #include "../../Common/MyCom.h"
7
8 #include "../ICoder.h"
9
10 namespace NCompress {
11
Z7_CLASS_IMP_COM_5(CCopyCoder,ICompressCoder,ICompressSetInStream,ISequentialInStream,ICompressSetFinishMode,ICompressGetInStreamProcessedSize)12 Z7_CLASS_IMP_COM_5(
13 CCopyCoder
14 , ICompressCoder
15 , ICompressSetInStream
16 , ISequentialInStream
17 , ICompressSetFinishMode
18 , ICompressGetInStreamProcessedSize
19 )
20 Byte *_buf;
21 CMyComPtr<ISequentialInStream> _inStream;
22 public:
23 UInt64 TotalSize;
24
25 CCopyCoder(): _buf(NULL), TotalSize(0) {}
26 ~CCopyCoder();
27 };
28
29 HRESULT CopyStream(ISequentialInStream *inStream, ISequentialOutStream *outStream, ICompressProgressInfo *progress);
30 HRESULT CopyStream_ExactSize(ISequentialInStream *inStream, ISequentialOutStream *outStream, UInt64 size, ICompressProgressInfo *progress);
31
32 }
33
34 #endif
35