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