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