diff options
Diffstat (limited to 'CPP/7zip/Compress/CopyCoder.h')
-rw-r--r-- | CPP/7zip/Compress/CopyCoder.h | 37 |
1 files changed, 11 insertions, 26 deletions
diff --git a/CPP/7zip/Compress/CopyCoder.h b/CPP/7zip/Compress/CopyCoder.h index a9d0b6d..cb93e4e 100644 --- a/CPP/7zip/Compress/CopyCoder.h +++ b/CPP/7zip/Compress/CopyCoder.h | |||
@@ -1,7 +1,7 @@ | |||
1 | // Compress/CopyCoder.h | 1 | // Compress/CopyCoder.h |
2 | 2 | ||
3 | #ifndef __COMPRESS_COPY_CODER_H | 3 | #ifndef ZIP7_INC_COMPRESS_COPY_CODER_H |
4 | #define __COMPRESS_COPY_CODER_H | 4 | #define ZIP7_INC_COMPRESS_COPY_CODER_H |
5 | 5 | ||
6 | #include "../../Common/MyCom.h" | 6 | #include "../../Common/MyCom.h" |
7 | 7 | ||
@@ -9,36 +9,21 @@ | |||
9 | 9 | ||
10 | namespace NCompress { | 10 | namespace NCompress { |
11 | 11 | ||
12 | class CCopyCoder: | 12 | Z7_CLASS_IMP_COM_5( |
13 | public ICompressCoder, | 13 | CCopyCoder |
14 | public ICompressSetInStream, | 14 | , ICompressCoder |
15 | public ISequentialInStream, | 15 | , ICompressSetInStream |
16 | public ICompressSetFinishMode, | 16 | , ISequentialInStream |
17 | public ICompressGetInStreamProcessedSize, | 17 | , ICompressSetFinishMode |
18 | public CMyUnknownImp | 18 | , ICompressGetInStreamProcessedSize |
19 | { | 19 | ) |
20 | Byte *_buf; | 20 | Byte *_buf; |
21 | CMyComPtr<ISequentialInStream> _inStream; | 21 | CMyComPtr<ISequentialInStream> _inStream; |
22 | public: | 22 | public: |
23 | UInt64 TotalSize; | 23 | UInt64 TotalSize; |
24 | 24 | ||
25 | CCopyCoder(): _buf(0), TotalSize(0) {}; | 25 | CCopyCoder(): _buf(NULL), TotalSize(0) {} |
26 | ~CCopyCoder(); | 26 | ~CCopyCoder(); |
27 | |||
28 | MY_UNKNOWN_IMP5( | ||
29 | ICompressCoder, | ||
30 | ICompressSetInStream, | ||
31 | ISequentialInStream, | ||
32 | ICompressSetFinishMode, | ||
33 | ICompressGetInStreamProcessedSize) | ||
34 | |||
35 | STDMETHOD(Code)(ISequentialInStream *inStream, ISequentialOutStream *outStream, | ||
36 | const UInt64 *inSize, const UInt64 *outSize, ICompressProgressInfo *progress); | ||
37 | STDMETHOD(SetInStream)(ISequentialInStream *inStream); | ||
38 | STDMETHOD(ReleaseInStream)(); | ||
39 | STDMETHOD(Read)(void *data, UInt32 size, UInt32 *processedSize); | ||
40 | STDMETHOD(SetFinishMode)(UInt32 finishMode); | ||
41 | STDMETHOD(GetInStreamProcessedSize)(UInt64 *value); | ||
42 | }; | 27 | }; |
43 | 28 | ||
44 | HRESULT CopyStream(ISequentialInStream *inStream, ISequentialOutStream *outStream, ICompressProgressInfo *progress); | 29 | HRESULT CopyStream(ISequentialInStream *inStream, ISequentialOutStream *outStream, ICompressProgressInfo *progress); |