Mercurial > vba-linux
comparison src/win32/7zip/7z/CPP/7zip/Archive/GZip/GZipHandler.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 // GZip/Handler.h | |
2 | |
3 #ifndef __GZIP_HANDLER_H | |
4 #define __GZIP_HANDLER_H | |
5 | |
6 #include "Common/MyCom.h" | |
7 | |
8 #include "../IArchive.h" | |
9 | |
10 #include "../../Common/CreateCoder.h" | |
11 | |
12 #include "GZipIn.h" | |
13 #include "GZipUpdate.h" | |
14 | |
15 namespace NArchive { | |
16 namespace NGZip { | |
17 | |
18 class CHandler: | |
19 public IInArchive, | |
20 public IOutArchive, | |
21 public ISetProperties, | |
22 PUBLIC_ISetCompressCodecsInfo | |
23 public CMyUnknownImp | |
24 { | |
25 public: | |
26 MY_QUERYINTERFACE_BEGIN2(IInArchive) | |
27 MY_QUERYINTERFACE_ENTRY(IOutArchive) | |
28 MY_QUERYINTERFACE_ENTRY(ISetProperties) | |
29 QUERY_ENTRY_ISetCompressCodecsInfo | |
30 MY_QUERYINTERFACE_END | |
31 MY_ADDREF_RELEASE | |
32 | |
33 INTERFACE_IInArchive(;) | |
34 #ifndef EXTRACT_ONLY | |
35 INTERFACE_IOutArchive(;) | |
36 | |
37 STDMETHOD(SetProperties)(const wchar_t **names, const PROPVARIANT *values, Int32 numProperties); | |
38 #endif | |
39 | |
40 DECL_ISetCompressCodecsInfo | |
41 | |
42 CHandler() { InitMethodProperties(); } | |
43 | |
44 private: | |
45 NArchive::NGZip::CItem m_Item; | |
46 UInt64 m_StreamStartPosition; | |
47 UInt64 m_DataOffset; | |
48 UInt64 m_PackSize; | |
49 CMyComPtr<IInStream> m_Stream; | |
50 CCompressionMethodMode m_Method; | |
51 UInt32 m_Level; | |
52 | |
53 DECL_EXTERNAL_CODECS_VARS | |
54 | |
55 void InitMethodProperties() | |
56 { | |
57 m_Method.NumMatchFinderCyclesDefined = false; | |
58 m_Level = m_Method.NumPasses = m_Method.NumFastBytes = | |
59 m_Method.NumMatchFinderCycles = m_Method.Algo = 0xFFFFFFFF; | |
60 } | |
61 }; | |
62 | |
63 }} | |
64 | |
65 #endif |