// UpdateCallbackConsole.h | |
#ifndef __UPDATE_CALLBACK_CONSOLE_H | |
#define __UPDATE_CALLBACK_CONSOLE_H | |
#include "../../../Common/StdOutStream.h" | |
#include "../Common/Update.h" | |
#include "PercentPrinter.h" | |
class CCallbackConsoleBase | |
{ | |
bool m_WarningsMode; | |
protected: | |
CPercentPrinter m_PercentPrinter; | |
CStdOutStream *OutStream; | |
HRESULT CanNotFindError_Base(const wchar_t *name, DWORD systemError); | |
public: | |
bool EnablePercents; | |
bool StdOutMode; | |
CCallbackConsoleBase(): | |
m_PercentPrinter(1 << 16), | |
StdOutMode(false), | |
EnablePercents(true), | |
m_WarningsMode(false) | |
{} | |
void Init(CStdOutStream *outStream) | |
{ | |
FailedFiles.Clear(); | |
FailedCodes.Clear(); | |
OutStream = outStream; | |
m_PercentPrinter.OutStream = outStream; | |
} | |
UStringVector FailedFiles; | |
CRecordVector<HRESULT> FailedCodes; | |
UStringVector CantFindFiles; | |
CRecordVector<HRESULT> CantFindCodes; | |
}; | |
class CUpdateCallbackConsole: public IUpdateCallbackUI2, public CCallbackConsoleBase | |
{ | |
bool m_NeedBeClosed; | |
bool m_NeedNewLine; | |
public: | |
#ifndef _NO_CRYPTO | |
bool PasswordIsDefined; | |
UString Password; | |
bool AskPassword; | |
#endif | |
CUpdateCallbackConsole() | |
#ifndef _NO_CRYPTO | |
: | |
PasswordIsDefined(false), | |
AskPassword(false) | |
#endif | |
{} | |
void Init(CStdOutStream *outStream) | |
{ | |
m_NeedBeClosed = false; | |
m_NeedNewLine = false; | |
CCallbackConsoleBase::Init(outStream); | |
} | |
~CUpdateCallbackConsole() { Finilize(); } | |
INTERFACE_IUpdateCallbackUI2(;) | |
}; | |
#endif |