1baa3858d3f5d128a5c8466b700098109edcad5f2repo sync// HandlerOut.h 2baa3858d3f5d128a5c8466b700098109edcad5f2repo sync 3baa3858d3f5d128a5c8466b700098109edcad5f2repo sync#ifndef __HANDLER_OUT_H 4baa3858d3f5d128a5c8466b700098109edcad5f2repo sync#define __HANDLER_OUT_H 5baa3858d3f5d128a5c8466b700098109edcad5f2repo sync 6baa3858d3f5d128a5c8466b700098109edcad5f2repo sync#include "../../../Common/MyString.h" 7baa3858d3f5d128a5c8466b700098109edcad5f2repo sync#include "../../Common/MethodProps.h" 8baa3858d3f5d128a5c8466b700098109edcad5f2repo sync 9baa3858d3f5d128a5c8466b700098109edcad5f2repo syncnamespace NArchive { 10baa3858d3f5d128a5c8466b700098109edcad5f2repo sync 11baa3858d3f5d128a5c8466b700098109edcad5f2repo syncstruct COneMethodInfo 12baa3858d3f5d128a5c8466b700098109edcad5f2repo sync{ 13baa3858d3f5d128a5c8466b700098109edcad5f2repo sync CObjectVector<CProp> Props; 14baa3858d3f5d128a5c8466b700098109edcad5f2repo sync UString MethodName; 15baa3858d3f5d128a5c8466b700098109edcad5f2repo sync 16baa3858d3f5d128a5c8466b700098109edcad5f2repo sync bool IsLzma() const; 17baa3858d3f5d128a5c8466b700098109edcad5f2repo sync}; 18baa3858d3f5d128a5c8466b700098109edcad5f2repo sync 19baa3858d3f5d128a5c8466b700098109edcad5f2repo syncclass COutHandler 20baa3858d3f5d128a5c8466b700098109edcad5f2repo sync{ 21baa3858d3f5d128a5c8466b700098109edcad5f2repo syncpublic: 22baa3858d3f5d128a5c8466b700098109edcad5f2repo sync HRESULT SetProperty(const wchar_t *name, const PROPVARIANT &value); 23baa3858d3f5d128a5c8466b700098109edcad5f2repo sync 24baa3858d3f5d128a5c8466b700098109edcad5f2repo sync HRESULT SetSolidSettings(const UString &s); 25baa3858d3f5d128a5c8466b700098109edcad5f2repo sync HRESULT SetSolidSettings(const PROPVARIANT &value); 26baa3858d3f5d128a5c8466b700098109edcad5f2repo sync 27baa3858d3f5d128a5c8466b700098109edcad5f2repo sync #ifndef _7ZIP_ST 28baa3858d3f5d128a5c8466b700098109edcad5f2repo sync UInt32 _numThreads; 29baa3858d3f5d128a5c8466b700098109edcad5f2repo sync #endif 30baa3858d3f5d128a5c8466b700098109edcad5f2repo sync 31baa3858d3f5d128a5c8466b700098109edcad5f2repo sync UInt32 _crcSize; 32baa3858d3f5d128a5c8466b700098109edcad5f2repo sync 33baa3858d3f5d128a5c8466b700098109edcad5f2repo sync CObjectVector<COneMethodInfo> _methods; 34baa3858d3f5d128a5c8466b700098109edcad5f2repo sync bool _removeSfxBlock; 35baa3858d3f5d128a5c8466b700098109edcad5f2repo sync 36baa3858d3f5d128a5c8466b700098109edcad5f2repo sync UInt64 _numSolidFiles; 37baa3858d3f5d128a5c8466b700098109edcad5f2repo sync UInt64 _numSolidBytes; 38baa3858d3f5d128a5c8466b700098109edcad5f2repo sync bool _numSolidBytesDefined; 39baa3858d3f5d128a5c8466b700098109edcad5f2repo sync bool _solidExtension; 40baa3858d3f5d128a5c8466b700098109edcad5f2repo sync 41baa3858d3f5d128a5c8466b700098109edcad5f2repo sync bool _compressHeaders; 42baa3858d3f5d128a5c8466b700098109edcad5f2repo sync bool _encryptHeadersSpecified; 43baa3858d3f5d128a5c8466b700098109edcad5f2repo sync bool _encryptHeaders; 44baa3858d3f5d128a5c8466b700098109edcad5f2repo sync 45baa3858d3f5d128a5c8466b700098109edcad5f2repo sync bool WriteCTime; 46baa3858d3f5d128a5c8466b700098109edcad5f2repo sync bool WriteATime; 47baa3858d3f5d128a5c8466b700098109edcad5f2repo sync bool WriteMTime; 48baa3858d3f5d128a5c8466b700098109edcad5f2repo sync 49baa3858d3f5d128a5c8466b700098109edcad5f2repo sync bool _autoFilter; 50baa3858d3f5d128a5c8466b700098109edcad5f2repo sync UInt32 _level; 51baa3858d3f5d128a5c8466b700098109edcad5f2repo sync 52baa3858d3f5d128a5c8466b700098109edcad5f2repo sync bool _volumeMode; 53baa3858d3f5d128a5c8466b700098109edcad5f2repo sync 54baa3858d3f5d128a5c8466b700098109edcad5f2repo sync HRESULT SetParam(COneMethodInfo &oneMethodInfo, const UString &name, const UString &value); 55baa3858d3f5d128a5c8466b700098109edcad5f2repo sync HRESULT SetParams(COneMethodInfo &oneMethodInfo, const UString &srcString); 56baa3858d3f5d128a5c8466b700098109edcad5f2repo sync 57baa3858d3f5d128a5c8466b700098109edcad5f2repo sync void SetCompressionMethod2(COneMethodInfo &oneMethodInfo 58baa3858d3f5d128a5c8466b700098109edcad5f2repo sync #ifndef _7ZIP_ST 59baa3858d3f5d128a5c8466b700098109edcad5f2repo sync , UInt32 numThreads 60baa3858d3f5d128a5c8466b700098109edcad5f2repo sync #endif 61baa3858d3f5d128a5c8466b700098109edcad5f2repo sync ); 62baa3858d3f5d128a5c8466b700098109edcad5f2repo sync 63baa3858d3f5d128a5c8466b700098109edcad5f2repo sync void InitSolidFiles() { _numSolidFiles = (UInt64)(Int64)(-1); } 64baa3858d3f5d128a5c8466b700098109edcad5f2repo sync void InitSolidSize() { _numSolidBytes = (UInt64)(Int64)(-1); } 65baa3858d3f5d128a5c8466b700098109edcad5f2repo sync void InitSolid() 66baa3858d3f5d128a5c8466b700098109edcad5f2repo sync { 67baa3858d3f5d128a5c8466b700098109edcad5f2repo sync InitSolidFiles(); 68baa3858d3f5d128a5c8466b700098109edcad5f2repo sync InitSolidSize(); 69baa3858d3f5d128a5c8466b700098109edcad5f2repo sync _solidExtension = false; 70baa3858d3f5d128a5c8466b700098109edcad5f2repo sync _numSolidBytesDefined = false; 71baa3858d3f5d128a5c8466b700098109edcad5f2repo sync } 72baa3858d3f5d128a5c8466b700098109edcad5f2repo sync 73baa3858d3f5d128a5c8466b700098109edcad5f2repo sync void Init(); 74baa3858d3f5d128a5c8466b700098109edcad5f2repo sync 75baa3858d3f5d128a5c8466b700098109edcad5f2repo sync COutHandler() { Init(); } 76baa3858d3f5d128a5c8466b700098109edcad5f2repo sync 77baa3858d3f5d128a5c8466b700098109edcad5f2repo sync void BeforeSetProperty(); 78baa3858d3f5d128a5c8466b700098109edcad5f2repo sync 79baa3858d3f5d128a5c8466b700098109edcad5f2repo sync UInt32 minNumber; 80baa3858d3f5d128a5c8466b700098109edcad5f2repo sync UInt32 numProcessors; 81baa3858d3f5d128a5c8466b700098109edcad5f2repo sync UInt32 mainDicSize; 82baa3858d3f5d128a5c8466b700098109edcad5f2repo sync UInt32 mainDicMethodIndex; 83baa3858d3f5d128a5c8466b700098109edcad5f2repo sync}; 84baa3858d3f5d128a5c8466b700098109edcad5f2repo sync 85baa3858d3f5d128a5c8466b700098109edcad5f2repo sync} 86baa3858d3f5d128a5c8466b700098109edcad5f2repo sync 87baa3858d3f5d128a5c8466b700098109edcad5f2repo sync#endif 88