3 #ifndef __7Z_HANDLER_H
\r
4 #define __7Z_HANDLER_H
\r
6 #include "../../ICoder.h"
\r
7 #include "../IArchive.h"
\r
9 #include "../../Common/CreateCoder.h"
\r
11 #ifndef EXTRACT_ONLY
\r
12 #include "../Common/HandlerOut.h"
\r
15 #include "7zCompressionMode.h"
\r
18 namespace NArchive {
\r
21 #ifndef __7Z_SET_PROPERTIES
\r
24 #if !defined(_7ZIP_ST) && !defined(_SFX)
\r
25 #define __7Z_SET_PROPERTIES
\r
28 #define __7Z_SET_PROPERTIES
\r
35 #ifndef EXTRACT_ONLY
\r
36 public NArchive::COutHandler,
\r
39 #ifdef __7Z_SET_PROPERTIES
\r
40 public ISetProperties,
\r
42 #ifndef EXTRACT_ONLY
\r
45 PUBLIC_ISetCompressCodecsInfo
\r
46 public CMyUnknownImp
\r
49 MY_QUERYINTERFACE_BEGIN2(IInArchive)
\r
50 #ifdef __7Z_SET_PROPERTIES
\r
51 MY_QUERYINTERFACE_ENTRY(ISetProperties)
\r
53 #ifndef EXTRACT_ONLY
\r
54 MY_QUERYINTERFACE_ENTRY(IOutArchive)
\r
56 QUERY_ENTRY_ISetCompressCodecsInfo
\r
57 MY_QUERYINTERFACE_END
\r
60 INTERFACE_IInArchive(;)
\r
62 #ifdef __7Z_SET_PROPERTIES
\r
63 STDMETHOD(SetProperties)(const wchar_t **names, const PROPVARIANT *values, Int32 numProperties);
\r
66 #ifndef EXTRACT_ONLY
\r
67 INTERFACE_IOutArchive(;)
\r
70 DECL_ISetCompressCodecsInfo
\r
75 CMyComPtr<IInStream> _inStream;
\r
76 NArchive::N7z::CArchiveDatabaseEx _db;
\r
78 bool _passwordIsDefined;
\r
83 #ifdef __7Z_SET_PROPERTIES
\r
91 CRecordVector<CBind> _binds;
\r
93 HRESULT SetCompressionMethod(CCompressionMethodMode &method,
\r
94 CObjectVector<COneMethodInfo> &methodsInfo
\r
100 HRESULT SetCompressionMethod(
\r
101 CCompressionMethodMode &method,
\r
102 CCompressionMethodMode &headerMethod);
\r
106 bool IsEncrypted(UInt32 index2) const;
\r
109 CRecordVector<UInt64> _fileInfoPopIDs;
\r
114 DECL_EXTERNAL_CODECS_VARS
\r