| OLD | NEW |
| (Empty) |
| 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, Int
32 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 | |
| OLD | NEW |