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