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