Files
easy7zip/CPP/7zip/UI/Console/OpenCallbackConsole.cpp
Igor Pavlov 173c07e166 4.59 beta
2016-05-28 00:15:56 +01:00

61 lines
1.1 KiB
C++
Executable File

// OpenCallbackConsole.cpp
#include "StdAfx.h"
#include "OpenCallbackConsole.h"
#include "ConsoleClose.h"
#include "UserInputUtils.h"
HRESULT COpenCallbackConsole::Open_CheckBreak()
{
if (NConsoleClose::TestBreakSignal())
return E_ABORT;
return S_OK;
}
HRESULT COpenCallbackConsole::Open_SetTotal(const UInt64 *, const UInt64 *)
{
return Open_CheckBreak();
}
HRESULT COpenCallbackConsole::Open_SetCompleted(const UInt64 *, const UInt64 *)
{
return Open_CheckBreak();
}
#ifndef _NO_CRYPTO
HRESULT COpenCallbackConsole::Open_CryptoGetTextPassword(BSTR *password)
{
PasswordWasAsked = true;
RINOK(Open_CheckBreak());
if (!PasswordIsDefined)
{
Password = GetPassword(OutStream);
PasswordIsDefined = true;
}
CMyComBSTR temp(Password);
*password = temp.Detach();
return S_OK;
}
HRESULT COpenCallbackConsole::Open_GetPasswordIfAny(UString &password)
{
if (PasswordIsDefined)
password = Password;
return S_OK;
}
bool COpenCallbackConsole::Open_WasPasswordAsked()
{
return PasswordWasAsked;
}
void COpenCallbackConsole::Open_ClearPasswordWasAskedFlag()
{
PasswordWasAsked = false;
}
#endif