1 // 7zCompressionMode.h 2 3 #ifndef __7Z_COMPRESSION_MODE_H 4 #define __7Z_COMPRESSION_MODE_H 5 6 #include "../../../Common/MyString.h" 7 8 #include "../../../Windows/PropVariant.h" 9 10 #include "../../Common/MethodProps.h" 11 12 namespace NArchive { 13 namespace N7z { 14 15 struct CMethodFull: public CMethod 16 { 17 UInt32 NumInStreams; 18 UInt32 NumOutStreams; IsSimpleCoderCMethodFull19 bool IsSimpleCoder() const { return (NumInStreams == 1) && (NumOutStreams == 1); } 20 }; 21 22 struct CBind 23 { 24 UInt32 InCoder; 25 UInt32 InStream; 26 UInt32 OutCoder; 27 UInt32 OutStream; 28 }; 29 30 struct CCompressionMethodMode 31 { 32 CObjectVector<CMethodFull> Methods; 33 CRecordVector<CBind> Binds; 34 #ifndef _7ZIP_ST 35 UInt32 NumThreads; 36 #endif 37 bool PasswordIsDefined; 38 UString Password; 39 IsEmptyCCompressionMethodMode40 bool IsEmpty() const { return (Methods.IsEmpty() && !PasswordIsDefined); } CCompressionMethodModeCCompressionMethodMode41 CCompressionMethodMode(): PasswordIsDefined(false) 42 #ifndef _7ZIP_ST 43 , NumThreads(1) 44 #endif 45 {} 46 }; 47 48 }} 49 50 #endif 51