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