// OpenCallbackConsole.h | |
#ifndef __OPEN_CALLBACK_CONSOLE_H | |
#define __OPEN_CALLBACK_CONSOLE_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: | |
bool MultiArcMode; | |
void ClosePercents() | |
{ | |
if (NeedPercents()) | |
_percent.ClosePrint(true); | |
} | |
COpenCallbackConsole(): | |
_totalFilesDefined(false), | |
// _totalBytesDefined(false), | |
_totalBytes(0), | |
MultiArcMode(false) | |
#ifndef _NO_CRYPTO | |
, PasswordIsDefined(false) | |
// , PasswordWasAsked(false) | |
#endif | |
{} | |
void Init(CStdOutStream *outStream, CStdOutStream *errorStream, CStdOutStream *percentStream) | |
{ | |
_so = outStream; | |
_se = errorStream; | |
_percent._so = percentStream; | |
} | |
INTERFACE_IOpenCallbackUI(;) | |
#ifndef _NO_CRYPTO | |
bool PasswordIsDefined; | |
// bool PasswordWasAsked; | |
UString Password; | |
#endif | |
}; | |
#endif |