59 lines
1.0 KiB
C++
59 lines
1.0 KiB
C++
|
// OpenCallbackConsole.cpp
|
||
|
|
||
|
#include "StdAfx.h"
|
||
|
|
||
|
#include "OpenCallbackConsole.h"
|
||
|
|
||
|
#include "ConsoleClose.h"
|
||
|
#include "UserInputUtils.h"
|
||
|
|
||
|
HRESULT COpenCallbackConsole::CheckBreak()
|
||
|
{
|
||
|
if (NConsoleClose::TestBreakSignal())
|
||
|
return E_ABORT;
|
||
|
return S_OK;
|
||
|
}
|
||
|
|
||
|
HRESULT COpenCallbackConsole::SetTotal(const UInt64 *, const UInt64 *)
|
||
|
{
|
||
|
return CheckBreak();
|
||
|
}
|
||
|
|
||
|
HRESULT COpenCallbackConsole::SetCompleted(const UInt64 *, const UInt64 *)
|
||
|
{
|
||
|
return CheckBreak();
|
||
|
}
|
||
|
|
||
|
HRESULT COpenCallbackConsole::CryptoGetTextPassword(BSTR *password)
|
||
|
{
|
||
|
PasswordWasAsked = true;
|
||
|
RINOK(CheckBreak());
|
||
|
if (!PasswordIsDefined)
|
||
|
{
|
||
|
Password = GetPassword(OutStream);
|
||
|
PasswordIsDefined = true;
|
||
|
}
|
||
|
CMyComBSTR temp(Password);
|
||
|
*password = temp.Detach();
|
||
|
return S_OK;
|
||
|
}
|
||
|
|
||
|
HRESULT COpenCallbackConsole::GetPasswordIfAny(UString &password)
|
||
|
{
|
||
|
if (PasswordIsDefined)
|
||
|
password = Password;
|
||
|
return S_OK;
|
||
|
}
|
||
|
|
||
|
bool COpenCallbackConsole::WasPasswordAsked()
|
||
|
{
|
||
|
return PasswordWasAsked;
|
||
|
}
|
||
|
|
||
|
void COpenCallbackConsole::ClearPasswordWasAskedFlag()
|
||
|
{
|
||
|
PasswordWasAsked = false;
|
||
|
}
|
||
|
|
||
|
|