87 lines
1.6 KiB
C++
87 lines
1.6 KiB
C++
// HandlerOut.h
|
|
|
|
#ifndef __HANDLER_OUT_H
|
|
#define __HANDLER_OUT_H
|
|
|
|
#include "../../Common/MethodProps.h"
|
|
#include "../../Common/CreateCoder.h"
|
|
|
|
namespace NArchive {
|
|
|
|
struct COneMethodInfo
|
|
{
|
|
CObjectVector<CProp> Properties;
|
|
UString MethodName;
|
|
};
|
|
|
|
class COutHandler
|
|
{
|
|
public:
|
|
HRESULT SetProperty(const wchar_t *name, const PROPVARIANT &value);
|
|
|
|
HRESULT SetSolidSettings(const UString &s);
|
|
HRESULT SetSolidSettings(const PROPVARIANT &value);
|
|
|
|
#ifdef COMPRESS_MT
|
|
UInt32 _numThreads;
|
|
#endif
|
|
|
|
UInt32 _crcSize;
|
|
|
|
CObjectVector<COneMethodInfo> _methods;
|
|
bool _removeSfxBlock;
|
|
|
|
UInt64 _numSolidFiles;
|
|
UInt64 _numSolidBytes;
|
|
bool _numSolidBytesDefined;
|
|
bool _solidExtension;
|
|
|
|
bool _compressHeaders;
|
|
bool _encryptHeaders;
|
|
|
|
bool WriteModified;
|
|
bool WriteCreated;
|
|
bool WriteAccessed;
|
|
|
|
bool _autoFilter;
|
|
UInt32 _level;
|
|
|
|
bool _volumeMode;
|
|
|
|
HRESULT SetParam(COneMethodInfo &oneMethodInfo, const UString &name, const UString &value);
|
|
HRESULT SetParams(COneMethodInfo &oneMethodInfo, const UString &srcString);
|
|
|
|
void SetCompressionMethod2(COneMethodInfo &oneMethodInfo
|
|
#ifdef COMPRESS_MT
|
|
, UInt32 numThreads
|
|
#endif
|
|
);
|
|
|
|
void InitSolidFiles() { _numSolidFiles = (UInt64)(Int64)(-1); }
|
|
void InitSolidSize() { _numSolidBytes = (UInt64)(Int64)(-1); }
|
|
void InitSolid()
|
|
{
|
|
InitSolidFiles();
|
|
InitSolidSize();
|
|
_solidExtension = false;
|
|
_numSolidBytesDefined = false;
|
|
}
|
|
|
|
void Init();
|
|
|
|
COutHandler() { Init(); }
|
|
|
|
void BeforeSetProperty();
|
|
|
|
UInt32 minNumber;
|
|
UInt32 numProcessors;
|
|
UInt32 mainDicSize;
|
|
UInt32 mainDicMethodIndex;
|
|
|
|
DECL_EXTERNAL_CODECS_VARS
|
|
};
|
|
|
|
}
|
|
|
|
#endif
|