3 #ifndef __ZIP_HANDLER_H
\r
4 #define __ZIP_HANDLER_H
\r
6 #include "Common/DynamicBuffer.h"
\r
7 #include "../../ICoder.h"
\r
8 #include "../IArchive.h"
\r
10 #include "../../Common/CreateCoder.h"
\r
13 #include "ZipCompressionMode.h"
\r
16 #include "../../../Windows/System.h"
\r
19 namespace NArchive {
\r
25 public ISetProperties,
\r
26 PUBLIC_ISetCompressCodecsInfo
\r
27 public CMyUnknownImp
\r
30 MY_QUERYINTERFACE_BEGIN2(IInArchive)
\r
31 MY_QUERYINTERFACE_ENTRY(IOutArchive)
\r
32 MY_QUERYINTERFACE_ENTRY(ISetProperties)
\r
33 QUERY_ENTRY_ISetCompressCodecsInfo
\r
34 MY_QUERYINTERFACE_END
\r
37 INTERFACE_IInArchive(;)
\r
38 INTERFACE_IOutArchive(;)
\r
40 STDMETHOD(SetProperties)(const wchar_t **names, const PROPVARIANT *values, Int32 numProperties);
\r
42 DECL_ISetCompressCodecsInfo
\r
46 CObjectVector<CItemEx> m_Items;
\r
47 CInArchive m_Archive;
\r
54 UInt32 m_NumFastBytes;
\r
55 UInt32 m_NumMatchFinderCycles;
\r
59 bool m_NumMatchFinderCyclesDefined;
\r
61 bool m_ForceAesMode;
\r
65 bool m_WriteNtfsTimeExtra;
\r
73 DECL_EXTERNAL_CODECS_VARS
\r
75 void InitMethodProperties()
\r
85 m_NumMatchFinderCycles = 0xFFFFFFFF;
\r
86 m_NumMatchFinderCyclesDefined = false;
\r
87 m_ForceAesMode = false;
\r
88 m_IsAesMode = false;
\r
89 m_AesKeyMode = 3; // aes-256
\r
90 m_WriteNtfsTimeExtra = true;
\r
91 m_ForceLocal = false;
\r
92 m_ForceUtf8 = false;
\r
94 _numThreads = NWindows::NSystem::GetNumberOfProcessors();;
\r