diff options
Diffstat (limited to '3rdparty/lzma/CPP/7zip/Archive/Common/HandlerOut.h')
-rw-r--r-- | 3rdparty/lzma/CPP/7zip/Archive/Common/HandlerOut.h | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/3rdparty/lzma/CPP/7zip/Archive/Common/HandlerOut.h b/3rdparty/lzma/CPP/7zip/Archive/Common/HandlerOut.h new file mode 100644 index 00000000000..d3c9a237ddc --- /dev/null +++ b/3rdparty/lzma/CPP/7zip/Archive/Common/HandlerOut.h @@ -0,0 +1,65 @@ +// HandlerOut.h + +#ifndef __HANDLER_OUT_H +#define __HANDLER_OUT_H + +#include "../../Common/MethodProps.h" + +namespace NArchive { + +class CMultiMethodProps +{ + UInt32 _level; +public: + #ifndef _7ZIP_ST + UInt32 _numThreads; + UInt32 _numProcessors; + #endif + + UInt32 _crcSize; + CObjectVector<COneMethodInfo> _methods; + COneMethodInfo _filterMethod; + bool _autoFilter; + + void SetGlobalLevelAndThreads(COneMethodInfo &oneMethodInfo + #ifndef _7ZIP_ST + , UInt32 numThreads + #endif + ); + + int GetNumEmptyMethods() const + { + int i; + for (i = 0; i < _methods.Size(); i++) + if (!_methods[i].IsEmpty()) + break; + return i; + } + + int GetLevel() const { return _level == (UInt32)(UInt32)-1 ? 5 : (int)_level; } + + void Init(); + + CMultiMethodProps() { Init(); } + HRESULT SetProperty(const wchar_t *name, const PROPVARIANT &value); +}; + +class CSingleMethodProps: public CMethodProps +{ + UInt32 _level; + + void Init(); +public: + #ifndef _7ZIP_ST + UInt32 _numThreads; + UInt32 _numProcessors; + #endif + + CSingleMethodProps() { Init(); } + int GetLevel() const { return _level == (UInt32)(UInt32)-1 ? 5 : (int)_level; } + HRESULT SetProperties(const wchar_t **names, const PROPVARIANT *values, Int32 numProps); +}; + +} + +#endif |