OpenCallbackConsole.cpp 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. // OpenCallbackConsole.cpp
  2. #include "StdAfx.h"
  3. #include "OpenCallbackConsole.h"
  4. #include "ConsoleClose.h"
  5. #include "UserInputUtils.h"
  6. HRESULT COpenCallbackConsole::CheckBreak()
  7. {
  8. if (NConsoleClose::TestBreakSignal())
  9. return E_ABORT;
  10. return S_OK;
  11. }
  12. HRESULT COpenCallbackConsole::SetTotal(const UInt64 *, const UInt64 *)
  13. {
  14. return CheckBreak();
  15. }
  16. HRESULT COpenCallbackConsole::SetCompleted(const UInt64 *, const UInt64 *)
  17. {
  18. return CheckBreak();
  19. }
  20. HRESULT COpenCallbackConsole::CryptoGetTextPassword(BSTR *password)
  21. {
  22. PasswordWasAsked = true;
  23. RINOK(CheckBreak());
  24. if (!PasswordIsDefined)
  25. {
  26. Password = GetPassword(OutStream);
  27. PasswordIsDefined = true;
  28. }
  29. CMyComBSTR temp(Password);
  30. *password = temp.Detach();
  31. return S_OK;
  32. }
  33. HRESULT COpenCallbackConsole::GetPasswordIfAny(UString &password)
  34. {
  35. if (PasswordIsDefined)
  36. password = Password;
  37. return S_OK;
  38. }
  39. bool COpenCallbackConsole::WasPasswordAsked()
  40. {
  41. return PasswordWasAsked;
  42. }
  43. void COpenCallbackConsole::ClearPasswordWasAskedFlag()
  44. {
  45. PasswordWasAsked = false;
  46. }