mirror of
https://github.com/Xevion/easy7zip.git
synced 2025-12-10 08:07:09 -06:00
48 lines
896 B
C++
Executable File
48 lines
896 B
C++
Executable File
// 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 *files, const UInt64 *bytes)
|
|
{
|
|
return CheckBreak();
|
|
}
|
|
|
|
HRESULT COpenCallbackConsole::SetCompleted(const UInt64 *files, const UInt64 *bytes)
|
|
{
|
|
return CheckBreak();
|
|
}
|
|
|
|
HRESULT COpenCallbackConsole::CryptoGetTextPassword(BSTR *password)
|
|
{
|
|
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;
|
|
}
|
|
|
|
|