OLD | NEW |
| (Empty) |
1 // 7zEncode.h | |
2 | |
3 #ifndef __7Z_ENCODE_H | |
4 #define __7Z_ENCODE_H | |
5 | |
6 // #include "../../Common/StreamObjects.h" | |
7 | |
8 #include "7zCompressionMode.h" | |
9 | |
10 #include "../Common/CoderMixer2.h" | |
11 #include "../Common/CoderMixer2MT.h" | |
12 #ifdef _ST_MODE | |
13 #include "../Common/CoderMixer2ST.h" | |
14 #endif | |
15 #include "7zItem.h" | |
16 | |
17 #include "../../Common/CreateCoder.h" | |
18 | |
19 namespace NArchive { | |
20 namespace N7z { | |
21 | |
22 class CEncoder | |
23 { | |
24 NCoderMixer::CCoderMixer2MT *_mixerCoderSpec; | |
25 CMyComPtr<ICompressCoder2> _mixerCoder; | |
26 | |
27 CObjectVector<CCoderInfo> _codersInfo; | |
28 | |
29 CCompressionMethodMode _options; | |
30 NCoderMixer::CBindInfo _bindInfo; | |
31 NCoderMixer::CBindInfo _decompressBindInfo; | |
32 NCoderMixer::CBindReverseConverter *_bindReverseConverter; | |
33 CRecordVector<CMethodId> _decompressionMethods; | |
34 | |
35 HRESULT CreateMixerCoder(DECL_EXTERNAL_CODECS_LOC_VARS | |
36 const UInt64 *inSizeForReduce); | |
37 | |
38 bool _constructed; | |
39 public: | |
40 CEncoder(const CCompressionMethodMode &options); | |
41 ~CEncoder(); | |
42 HRESULT EncoderConstr(); | |
43 HRESULT Encode( | |
44 DECL_EXTERNAL_CODECS_LOC_VARS | |
45 ISequentialInStream *inStream, | |
46 const UInt64 *inStreamSize, const UInt64 *inSizeForReduce, | |
47 CFolder &folderItem, | |
48 ISequentialOutStream *outStream, | |
49 CRecordVector<UInt64> &packSizes, | |
50 ICompressProgressInfo *compressProgress); | |
51 }; | |
52 | |
53 }} | |
54 | |
55 #endif | |
OLD | NEW |