66 lines
1.2 KiB
C
66 lines
1.2 KiB
C
|
// 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),
|
||
|
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
|