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 12namespace NArchive { 13namespace N7z { 14 15struct CMethodFull: public CMethod 16{ 17 UInt32 NumInStreams; 18 UInt32 NumOutStreams; 19 bool IsSimpleCoder() const { return (NumInStreams == 1) && (NumOutStreams == 1); } 20}; 21 22struct CBind 23{ 24 UInt32 InCoder; 25 UInt32 InStream; 26 UInt32 OutCoder; 27 UInt32 OutStream; 28}; 29 30struct 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 40 bool IsEmpty() const { return (Methods.IsEmpty() && !PasswordIsDefined); } 41 CCompressionMethodMode(): PasswordIsDefined(false) 42 #ifndef _7ZIP_ST 43 , NumThreads(1) 44 #endif 45 {} 46}; 47 48}} 49 50#endif 51