diff options
Diffstat (limited to '3rdparty/lzma/CPP/7zip/UI/Console/OpenCallbackConsole.h')
-rw-r--r-- | 3rdparty/lzma/CPP/7zip/UI/Console/OpenCallbackConsole.h | 55 |
1 files changed, 48 insertions, 7 deletions
diff --git a/3rdparty/lzma/CPP/7zip/UI/Console/OpenCallbackConsole.h b/3rdparty/lzma/CPP/7zip/UI/Console/OpenCallbackConsole.h index c002e6a726f..0dd4e1d1c82 100644 --- a/3rdparty/lzma/CPP/7zip/UI/Console/OpenCallbackConsole.h +++ b/3rdparty/lzma/CPP/7zip/UI/Console/OpenCallbackConsole.h @@ -1,23 +1,64 @@ // OpenCallbackConsole.h -#ifndef __OPENCALLBACKCONSOLE_H -#define __OPENCALLBACKCONSOLE_H +#ifndef __OPEN_CALLBACK_CONSOLE_H +#define __OPEN_CALLBACK_CONSOLE_H + +#include "../../../Common/StdOutStream.h" -#include "Common/StdOutStream.h" #include "../Common/ArchiveOpenCallback.h" +#include "PercentPrinter.h" + class COpenCallbackConsole: public IOpenCallbackUI { +protected: + CPercentPrinter _percent; + + CStdOutStream *_so; + CStdOutStream *_se; + + bool _totalFilesDefined; + bool _totalBytesDefined; + // UInt64 _totalFiles; + // UInt64 _totalBytes; + + bool NeedPercents() const { return _percent._so != NULL; } + public: - INTERFACE_IOpenCallbackUI(;) + + bool MultiArcMode; + + void ClosePercents() + { + if (NeedPercents()) + _percent.ClosePrint(true); + } + + COpenCallbackConsole(): + _totalFilesDefined(false), + _totalBytesDefined(false), + MultiArcMode(false) + + #ifndef _NO_CRYPTO + , PasswordIsDefined(false) + // , PasswordWasAsked(false) + #endif + + {} - CStdOutStream *OutStream; + void Init(CStdOutStream *outStream, CStdOutStream *errorStream, CStdOutStream *percentStream) + { + _so = outStream; + _se = errorStream; + _percent._so = percentStream; + } + INTERFACE_IOpenCallbackUI(;) + #ifndef _NO_CRYPTO bool PasswordIsDefined; - bool PasswordWasAsked; + // bool PasswordWasAsked; UString Password; - COpenCallbackConsole(): PasswordIsDefined(false), PasswordWasAsked(false) {} #endif }; |