Mercurial > vba-linux
diff 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 |
line wrap: on
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/src/win32/7zip/7z/CPP/7zip/Archive/Zip/ZipHandler.h Sat Mar 03 10:31:27 2012 -0600 1.3 @@ -0,0 +1,100 @@ 1.4 +// Zip/Handler.h 1.5 + 1.6 +#ifndef __ZIP_HANDLER_H 1.7 +#define __ZIP_HANDLER_H 1.8 + 1.9 +#include "../../../Common/DynamicBuffer.h" 1.10 +#include "../../ICoder.h" 1.11 +#include "../IArchive.h" 1.12 + 1.13 +#include "../../Common/CreateCoder.h" 1.14 + 1.15 +#include "ZipIn.h" 1.16 +#include "ZipCompressionMode.h" 1.17 + 1.18 +#ifdef COMPRESS_MT 1.19 +#include "../../../Windows/System.h" 1.20 +#endif 1.21 + 1.22 +namespace NArchive { 1.23 +namespace NZip { 1.24 + 1.25 +class CHandler: 1.26 + public IInArchive, 1.27 +#ifndef EXTRACT_ONLY 1.28 + public IOutArchive, 1.29 + public ISetProperties, 1.30 + PUBLIC_ISetCompressCodecsInfo 1.31 +#endif 1.32 + public CMyUnknownImp 1.33 +{ 1.34 +public: 1.35 + MY_QUERYINTERFACE_BEGIN2(IInArchive) 1.36 +#ifndef EXTRACT_ONLY 1.37 + MY_QUERYINTERFACE_ENTRY(IOutArchive) 1.38 + MY_QUERYINTERFACE_ENTRY(ISetProperties) 1.39 + QUERY_ENTRY_ISetCompressCodecsInfo 1.40 +#endif 1.41 + MY_QUERYINTERFACE_END 1.42 + MY_ADDREF_RELEASE 1.43 + 1.44 + INTERFACE_IInArchive(;) 1.45 +#ifndef EXTRACT_ONLY 1.46 + INTERFACE_IOutArchive(;) 1.47 + 1.48 + STDMETHOD(SetProperties)(const wchar_t **names, const PROPVARIANT *values, Int32 numProperties); 1.49 + 1.50 + DECL_ISetCompressCodecsInfo 1.51 +#endif 1.52 + 1.53 + CHandler(); 1.54 +private: 1.55 + CObjectVector<CItemEx> m_Items; 1.56 + CInArchive m_Archive; 1.57 + 1.58 + int m_Level; 1.59 + int m_MainMethod; 1.60 + UInt32 m_DicSize; 1.61 + UInt32 m_Algo; 1.62 + UInt32 m_NumPasses; 1.63 + UInt32 m_NumFastBytes; 1.64 + UInt32 m_NumMatchFinderCycles; 1.65 + bool m_NumMatchFinderCyclesDefined; 1.66 + 1.67 + bool m_IsAesMode; 1.68 + Byte m_AesKeyMode; 1.69 + 1.70 + bool m_WriteNtfsTimeExtra; 1.71 + bool m_ForseLocal; 1.72 + bool m_ForseUtf8; 1.73 + 1.74 + #ifdef COMPRESS_MT 1.75 + UInt32 _numThreads; 1.76 + #endif 1.77 + 1.78 + DECL_EXTERNAL_CODECS_VARS 1.79 + 1.80 + void InitMethodProperties() 1.81 + { 1.82 + m_Level = -1; 1.83 + m_MainMethod = -1; 1.84 + m_Algo = 1.85 + m_DicSize = 1.86 + m_NumPasses = 1.87 + m_NumFastBytes = 1.88 + m_NumMatchFinderCycles = 0xFFFFFFFF; 1.89 + m_NumMatchFinderCyclesDefined = false; 1.90 + m_IsAesMode = false; 1.91 + m_AesKeyMode = 3; // aes-256 1.92 + m_WriteNtfsTimeExtra = false; 1.93 + m_ForseLocal = false; 1.94 + m_ForseUtf8 = false; 1.95 + #ifdef COMPRESS_MT 1.96 + _numThreads = NWindows::NSystem::GetNumberOfProcessors();; 1.97 + #endif 1.98 + } 1.99 +}; 1.100 + 1.101 +}} 1.102 + 1.103 +#endif