51 lines
925 B
C++
51 lines
925 B
C++
// 7zCompressionMode.h
|
|
|
|
#ifndef __7Z_COMPRESSION_MODE_H
|
|
#define __7Z_COMPRESSION_MODE_H
|
|
|
|
#include "../../../Common/MyString.h"
|
|
|
|
#include "../../../Windows/PropVariant.h"
|
|
|
|
#include "../../Common/MethodProps.h"
|
|
|
|
namespace NArchive {
|
|
namespace N7z {
|
|
|
|
struct CMethodFull: public CMethod
|
|
{
|
|
UInt32 NumInStreams;
|
|
UInt32 NumOutStreams;
|
|
bool IsSimpleCoder() const { return (NumInStreams == 1) && (NumOutStreams == 1); }
|
|
};
|
|
|
|
struct CBind
|
|
{
|
|
UInt32 InCoder;
|
|
UInt32 InStream;
|
|
UInt32 OutCoder;
|
|
UInt32 OutStream;
|
|
};
|
|
|
|
struct CCompressionMethodMode
|
|
{
|
|
CObjectVector<CMethodFull> Methods;
|
|
CRecordVector<CBind> Binds;
|
|
#ifdef COMPRESS_MT
|
|
UInt32 NumThreads;
|
|
#endif
|
|
bool PasswordIsDefined;
|
|
UString Password;
|
|
|
|
bool IsEmpty() const { return (Methods.IsEmpty() && !PasswordIsDefined); }
|
|
CCompressionMethodMode(): PasswordIsDefined(false)
|
|
#ifdef COMPRESS_MT
|
|
, NumThreads(1)
|
|
#endif
|
|
{}
|
|
};
|
|
|
|
}}
|
|
|
|
#endif
|