Mercurial > vba-linux
diff 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 |
line wrap: on
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/src/win32/7zip/7z/CPP/7zip/Archive/7z/7zHandler.h Sat Mar 03 10:31:27 2012 -0600 1.3 @@ -0,0 +1,121 @@ 1.4 +// 7z/Handler.h 1.5 + 1.6 +#ifndef __7Z_HANDLER_H 1.7 +#define __7Z_HANDLER_H 1.8 + 1.9 +#include "../../ICoder.h" 1.10 +#include "../IArchive.h" 1.11 +#include "7zIn.h" 1.12 + 1.13 +#include "7zCompressionMode.h" 1.14 + 1.15 +#include "../../Common/CreateCoder.h" 1.16 + 1.17 +#ifndef EXTRACT_ONLY 1.18 +#include "../Common/HandlerOut.h" 1.19 +#endif 1.20 + 1.21 +namespace NArchive { 1.22 +namespace N7z { 1.23 + 1.24 +#ifndef __7Z_SET_PROPERTIES 1.25 + 1.26 +#ifdef EXTRACT_ONLY 1.27 +#ifdef COMPRESS_MT 1.28 +#define __7Z_SET_PROPERTIES 1.29 +#endif 1.30 +#else 1.31 +#define __7Z_SET_PROPERTIES 1.32 +#endif 1.33 + 1.34 +#endif 1.35 + 1.36 + 1.37 +class CHandler: 1.38 + #ifndef EXTRACT_ONLY 1.39 + public NArchive::COutHandler, 1.40 + #endif 1.41 + public IInArchive, 1.42 + #ifdef __7Z_SET_PROPERTIES 1.43 + public ISetProperties, 1.44 + #endif 1.45 + #ifndef EXTRACT_ONLY 1.46 + public IOutArchive, 1.47 + #endif 1.48 + PUBLIC_ISetCompressCodecsInfo 1.49 + public CMyUnknownImp 1.50 +{ 1.51 +public: 1.52 + MY_QUERYINTERFACE_BEGIN2(IInArchive) 1.53 + #ifdef __7Z_SET_PROPERTIES 1.54 + MY_QUERYINTERFACE_ENTRY(ISetProperties) 1.55 + #endif 1.56 + #ifndef EXTRACT_ONLY 1.57 + MY_QUERYINTERFACE_ENTRY(IOutArchive) 1.58 + #endif 1.59 + QUERY_ENTRY_ISetCompressCodecsInfo 1.60 + MY_QUERYINTERFACE_END 1.61 + MY_ADDREF_RELEASE 1.62 + 1.63 + INTERFACE_IInArchive(;) 1.64 + 1.65 + #ifdef __7Z_SET_PROPERTIES 1.66 + STDMETHOD(SetProperties)(const wchar_t **names, const PROPVARIANT *values, Int32 numProperties); 1.67 + #endif 1.68 + 1.69 + #ifndef EXTRACT_ONLY 1.70 + INTERFACE_IOutArchive(;) 1.71 + #endif 1.72 + 1.73 + DECL_ISetCompressCodecsInfo 1.74 + 1.75 + CHandler(); 1.76 + 1.77 +private: 1.78 + CMyComPtr<IInStream> _inStream; 1.79 + NArchive::N7z::CArchiveDatabaseEx _db; 1.80 + #ifndef _NO_CRYPTO 1.81 + bool _passwordIsDefined; 1.82 + #endif 1.83 + 1.84 + #ifdef EXTRACT_ONLY 1.85 + 1.86 + #ifdef COMPRESS_MT 1.87 + UInt32 _numThreads; 1.88 + #endif 1.89 + 1.90 + UInt32 _crcSize; 1.91 + 1.92 + #else 1.93 + 1.94 + CRecordVector<CBind> _binds; 1.95 + 1.96 + HRESULT SetPassword(CCompressionMethodMode &methodMode, IArchiveUpdateCallback *updateCallback); 1.97 + 1.98 + HRESULT SetCompressionMethod(CCompressionMethodMode &method, 1.99 + CObjectVector<COneMethodInfo> &methodsInfo 1.100 + #ifdef COMPRESS_MT 1.101 + , UInt32 numThreads 1.102 + #endif 1.103 + ); 1.104 + 1.105 + HRESULT SetCompressionMethod( 1.106 + CCompressionMethodMode &method, 1.107 + CCompressionMethodMode &headerMethod); 1.108 + 1.109 + #endif 1.110 + 1.111 + bool IsEncrypted(UInt32 index2) const; 1.112 + #ifndef _SFX 1.113 + 1.114 + CRecordVector<UInt64> _fileInfoPopIDs; 1.115 + void FillPopIDs(); 1.116 + 1.117 + #endif 1.118 + 1.119 + DECL_EXTERNAL_CODECS_VARS 1.120 +}; 1.121 + 1.122 +}} 1.123 + 1.124 +#endif