Mercurial > vba-linux
view 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 source
1 // 7z/Handler.h3 #ifndef __7Z_HANDLER_H4 #define __7Z_HANDLER_H6 #include "../../ICoder.h"7 #include "../IArchive.h"8 #include "7zIn.h"10 #include "7zCompressionMode.h"12 #include "../../Common/CreateCoder.h"14 #ifndef EXTRACT_ONLY15 #include "../Common/HandlerOut.h"16 #endif18 namespace NArchive {19 namespace N7z {21 #ifndef __7Z_SET_PROPERTIES23 #ifdef EXTRACT_ONLY24 #ifdef COMPRESS_MT25 #define __7Z_SET_PROPERTIES26 #endif27 #else28 #define __7Z_SET_PROPERTIES29 #endif31 #endif34 class CHandler:35 #ifndef EXTRACT_ONLY36 public NArchive::COutHandler,37 #endif38 public IInArchive,39 #ifdef __7Z_SET_PROPERTIES40 public ISetProperties,41 #endif42 #ifndef EXTRACT_ONLY43 public IOutArchive,44 #endif45 PUBLIC_ISetCompressCodecsInfo46 public CMyUnknownImp47 {48 public:49 MY_QUERYINTERFACE_BEGIN2(IInArchive)50 #ifdef __7Z_SET_PROPERTIES51 MY_QUERYINTERFACE_ENTRY(ISetProperties)52 #endif53 #ifndef EXTRACT_ONLY54 MY_QUERYINTERFACE_ENTRY(IOutArchive)55 #endif56 QUERY_ENTRY_ISetCompressCodecsInfo57 MY_QUERYINTERFACE_END58 MY_ADDREF_RELEASE60 INTERFACE_IInArchive(;)62 #ifdef __7Z_SET_PROPERTIES63 STDMETHOD(SetProperties)(const wchar_t **names, const PROPVARIANT *values, Int32 numProperties);64 #endif66 #ifndef EXTRACT_ONLY67 INTERFACE_IOutArchive(;)68 #endif70 DECL_ISetCompressCodecsInfo72 CHandler();74 private:75 CMyComPtr<IInStream> _inStream;76 NArchive::N7z::CArchiveDatabaseEx _db;77 #ifndef _NO_CRYPTO78 bool _passwordIsDefined;79 #endif81 #ifdef EXTRACT_ONLY83 #ifdef COMPRESS_MT84 UInt32 _numThreads;85 #endif87 UInt32 _crcSize;89 #else91 CRecordVector<CBind> _binds;93 HRESULT SetPassword(CCompressionMethodMode &methodMode, IArchiveUpdateCallback *updateCallback);95 HRESULT SetCompressionMethod(CCompressionMethodMode &method,96 CObjectVector<COneMethodInfo> &methodsInfo97 #ifdef COMPRESS_MT98 , UInt32 numThreads99 #endif100 );102 HRESULT SetCompressionMethod(103 CCompressionMethodMode &method,104 CCompressionMethodMode &headerMethod);106 #endif108 bool IsEncrypted(UInt32 index2) const;109 #ifndef _SFX111 CRecordVector<UInt64> _fileInfoPopIDs;112 void FillPopIDs();114 #endif116 DECL_EXTERNAL_CODECS_VARS117 };119 }}121 #endif