Mercurial > vba-linux
comparison src/win32/7zip/7z/CPP/7zip/Archive/7z/7zHandler.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 // 7z/Handler.h | |
2 | |
3 #ifndef __7Z_HANDLER_H | |
4 #define __7Z_HANDLER_H | |
5 | |
6 #include "../../ICoder.h" | |
7 #include "../IArchive.h" | |
8 #include "7zIn.h" | |
9 | |
10 #include "7zCompressionMode.h" | |
11 | |
12 #include "../../Common/CreateCoder.h" | |
13 | |
14 #ifndef EXTRACT_ONLY | |
15 #include "../Common/HandlerOut.h" | |
16 #endif | |
17 | |
18 namespace NArchive { | |
19 namespace N7z { | |
20 | |
21 #ifndef __7Z_SET_PROPERTIES | |
22 | |
23 #ifdef EXTRACT_ONLY | |
24 #ifdef COMPRESS_MT | |
25 #define __7Z_SET_PROPERTIES | |
26 #endif | |
27 #else | |
28 #define __7Z_SET_PROPERTIES | |
29 #endif | |
30 | |
31 #endif | |
32 | |
33 | |
34 class CHandler: | |
35 #ifndef EXTRACT_ONLY | |
36 public NArchive::COutHandler, | |
37 #endif | |
38 public IInArchive, | |
39 #ifdef __7Z_SET_PROPERTIES | |
40 public ISetProperties, | |
41 #endif | |
42 #ifndef EXTRACT_ONLY | |
43 public IOutArchive, | |
44 #endif | |
45 PUBLIC_ISetCompressCodecsInfo | |
46 public CMyUnknownImp | |
47 { | |
48 public: | |
49 MY_QUERYINTERFACE_BEGIN2(IInArchive) | |
50 #ifdef __7Z_SET_PROPERTIES | |
51 MY_QUERYINTERFACE_ENTRY(ISetProperties) | |
52 #endif | |
53 #ifndef EXTRACT_ONLY | |
54 MY_QUERYINTERFACE_ENTRY(IOutArchive) | |
55 #endif | |
56 QUERY_ENTRY_ISetCompressCodecsInfo | |
57 MY_QUERYINTERFACE_END | |
58 MY_ADDREF_RELEASE | |
59 | |
60 INTERFACE_IInArchive(;) | |
61 | |
62 #ifdef __7Z_SET_PROPERTIES | |
63 STDMETHOD(SetProperties)(const wchar_t **names, const PROPVARIANT *values, Int32 numProperties); | |
64 #endif | |
65 | |
66 #ifndef EXTRACT_ONLY | |
67 INTERFACE_IOutArchive(;) | |
68 #endif | |
69 | |
70 DECL_ISetCompressCodecsInfo | |
71 | |
72 CHandler(); | |
73 | |
74 private: | |
75 CMyComPtr<IInStream> _inStream; | |
76 NArchive::N7z::CArchiveDatabaseEx _db; | |
77 #ifndef _NO_CRYPTO | |
78 bool _passwordIsDefined; | |
79 #endif | |
80 | |
81 #ifdef EXTRACT_ONLY | |
82 | |
83 #ifdef COMPRESS_MT | |
84 UInt32 _numThreads; | |
85 #endif | |
86 | |
87 UInt32 _crcSize; | |
88 | |
89 #else | |
90 | |
91 CRecordVector<CBind> _binds; | |
92 | |
93 HRESULT SetPassword(CCompressionMethodMode &methodMode, IArchiveUpdateCallback *updateCallback); | |
94 | |
95 HRESULT SetCompressionMethod(CCompressionMethodMode &method, | |
96 CObjectVector<COneMethodInfo> &methodsInfo | |
97 #ifdef COMPRESS_MT | |
98 , UInt32 numThreads | |
99 #endif | |
100 ); | |
101 | |
102 HRESULT SetCompressionMethod( | |
103 CCompressionMethodMode &method, | |
104 CCompressionMethodMode &headerMethod); | |
105 | |
106 #endif | |
107 | |
108 bool IsEncrypted(UInt32 index2) const; | |
109 #ifndef _SFX | |
110 | |
111 CRecordVector<UInt64> _fileInfoPopIDs; | |
112 void FillPopIDs(); | |
113 | |
114 #endif | |
115 | |
116 DECL_EXTERNAL_CODECS_VARS | |
117 }; | |
118 | |
119 }} | |
120 | |
121 #endif |