Mercurial > vba-linux
comparison src/win32/7zip/7z/CPP/7zip/Archive/Zip/ZipHandler.h @ 1:f9f4f1b99eed
importing src directory
author | Robert McIntyre <rlm@mit.edu> |
---|---|
date | Sat, 03 Mar 2012 10:31:27 -0600 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
0:8ced16adf2e1 | 1:f9f4f1b99eed |
---|---|
1 // Zip/Handler.h | |
2 | |
3 #ifndef __ZIP_HANDLER_H | |
4 #define __ZIP_HANDLER_H | |
5 | |
6 #include "../../../Common/DynamicBuffer.h" | |
7 #include "../../ICoder.h" | |
8 #include "../IArchive.h" | |
9 | |
10 #include "../../Common/CreateCoder.h" | |
11 | |
12 #include "ZipIn.h" | |
13 #include "ZipCompressionMode.h" | |
14 | |
15 #ifdef COMPRESS_MT | |
16 #include "../../../Windows/System.h" | |
17 #endif | |
18 | |
19 namespace NArchive { | |
20 namespace NZip { | |
21 | |
22 class CHandler: | |
23 public IInArchive, | |
24 #ifndef EXTRACT_ONLY | |
25 public IOutArchive, | |
26 public ISetProperties, | |
27 PUBLIC_ISetCompressCodecsInfo | |
28 #endif | |
29 public CMyUnknownImp | |
30 { | |
31 public: | |
32 MY_QUERYINTERFACE_BEGIN2(IInArchive) | |
33 #ifndef EXTRACT_ONLY | |
34 MY_QUERYINTERFACE_ENTRY(IOutArchive) | |
35 MY_QUERYINTERFACE_ENTRY(ISetProperties) | |
36 QUERY_ENTRY_ISetCompressCodecsInfo | |
37 #endif | |
38 MY_QUERYINTERFACE_END | |
39 MY_ADDREF_RELEASE | |
40 | |
41 INTERFACE_IInArchive(;) | |
42 #ifndef EXTRACT_ONLY | |
43 INTERFACE_IOutArchive(;) | |
44 | |
45 STDMETHOD(SetProperties)(const wchar_t **names, const PROPVARIANT *values, Int32 numProperties); | |
46 | |
47 DECL_ISetCompressCodecsInfo | |
48 #endif | |
49 | |
50 CHandler(); | |
51 private: | |
52 CObjectVector<CItemEx> m_Items; | |
53 CInArchive m_Archive; | |
54 | |
55 int m_Level; | |
56 int m_MainMethod; | |
57 UInt32 m_DicSize; | |
58 UInt32 m_Algo; | |
59 UInt32 m_NumPasses; | |
60 UInt32 m_NumFastBytes; | |
61 UInt32 m_NumMatchFinderCycles; | |
62 bool m_NumMatchFinderCyclesDefined; | |
63 | |
64 bool m_IsAesMode; | |
65 Byte m_AesKeyMode; | |
66 | |
67 bool m_WriteNtfsTimeExtra; | |
68 bool m_ForseLocal; | |
69 bool m_ForseUtf8; | |
70 | |
71 #ifdef COMPRESS_MT | |
72 UInt32 _numThreads; | |
73 #endif | |
74 | |
75 DECL_EXTERNAL_CODECS_VARS | |
76 | |
77 void InitMethodProperties() | |
78 { | |
79 m_Level = -1; | |
80 m_MainMethod = -1; | |
81 m_Algo = | |
82 m_DicSize = | |
83 m_NumPasses = | |
84 m_NumFastBytes = | |
85 m_NumMatchFinderCycles = 0xFFFFFFFF; | |
86 m_NumMatchFinderCyclesDefined = false; | |
87 m_IsAesMode = false; | |
88 m_AesKeyMode = 3; // aes-256 | |
89 m_WriteNtfsTimeExtra = false; | |
90 m_ForseLocal = false; | |
91 m_ForseUtf8 = false; | |
92 #ifdef COMPRESS_MT | |
93 _numThreads = NWindows::NSystem::GetNumberOfProcessors();; | |
94 #endif | |
95 } | |
96 }; | |
97 | |
98 }} | |
99 | |
100 #endif |