1baa3858d3f5d128a5c8466b700098109edcad5f2repo sync// OpenCallbackConsole.cpp
2baa3858d3f5d128a5c8466b700098109edcad5f2repo sync
3baa3858d3f5d128a5c8466b700098109edcad5f2repo sync#include "StdAfx.h"
4baa3858d3f5d128a5c8466b700098109edcad5f2repo sync
5baa3858d3f5d128a5c8466b700098109edcad5f2repo sync#include "OpenCallbackConsole.h"
6baa3858d3f5d128a5c8466b700098109edcad5f2repo sync
7baa3858d3f5d128a5c8466b700098109edcad5f2repo sync#include "ConsoleClose.h"
8baa3858d3f5d128a5c8466b700098109edcad5f2repo sync#include "UserInputUtils.h"
9baa3858d3f5d128a5c8466b700098109edcad5f2repo sync
10baa3858d3f5d128a5c8466b700098109edcad5f2repo syncHRESULT COpenCallbackConsole::Open_CheckBreak()
11baa3858d3f5d128a5c8466b700098109edcad5f2repo sync{
12baa3858d3f5d128a5c8466b700098109edcad5f2repo sync  if (NConsoleClose::TestBreakSignal())
13baa3858d3f5d128a5c8466b700098109edcad5f2repo sync    return E_ABORT;
14baa3858d3f5d128a5c8466b700098109edcad5f2repo sync  return S_OK;
15baa3858d3f5d128a5c8466b700098109edcad5f2repo sync}
16baa3858d3f5d128a5c8466b700098109edcad5f2repo sync
17baa3858d3f5d128a5c8466b700098109edcad5f2repo syncHRESULT COpenCallbackConsole::Open_SetTotal(const UInt64 *, const UInt64 *)
18baa3858d3f5d128a5c8466b700098109edcad5f2repo sync{
19baa3858d3f5d128a5c8466b700098109edcad5f2repo sync  return Open_CheckBreak();
20baa3858d3f5d128a5c8466b700098109edcad5f2repo sync}
21baa3858d3f5d128a5c8466b700098109edcad5f2repo sync
22baa3858d3f5d128a5c8466b700098109edcad5f2repo syncHRESULT COpenCallbackConsole::Open_SetCompleted(const UInt64 *, const UInt64 *)
23baa3858d3f5d128a5c8466b700098109edcad5f2repo sync{
24baa3858d3f5d128a5c8466b700098109edcad5f2repo sync  return Open_CheckBreak();
25baa3858d3f5d128a5c8466b700098109edcad5f2repo sync}
26baa3858d3f5d128a5c8466b700098109edcad5f2repo sync
27baa3858d3f5d128a5c8466b700098109edcad5f2repo sync#ifndef _NO_CRYPTO
28baa3858d3f5d128a5c8466b700098109edcad5f2repo sync
29baa3858d3f5d128a5c8466b700098109edcad5f2repo syncHRESULT COpenCallbackConsole::Open_CryptoGetTextPassword(BSTR *password)
30baa3858d3f5d128a5c8466b700098109edcad5f2repo sync{
31baa3858d3f5d128a5c8466b700098109edcad5f2repo sync  PasswordWasAsked = true;
32baa3858d3f5d128a5c8466b700098109edcad5f2repo sync  RINOK(Open_CheckBreak());
33baa3858d3f5d128a5c8466b700098109edcad5f2repo sync  if (!PasswordIsDefined)
34baa3858d3f5d128a5c8466b700098109edcad5f2repo sync  {
35baa3858d3f5d128a5c8466b700098109edcad5f2repo sync    Password = GetPassword(OutStream);
36baa3858d3f5d128a5c8466b700098109edcad5f2repo sync    PasswordIsDefined = true;
37baa3858d3f5d128a5c8466b700098109edcad5f2repo sync  }
38baa3858d3f5d128a5c8466b700098109edcad5f2repo sync  return StringToBstr(Password, password);
39baa3858d3f5d128a5c8466b700098109edcad5f2repo sync}
40baa3858d3f5d128a5c8466b700098109edcad5f2repo sync
41baa3858d3f5d128a5c8466b700098109edcad5f2repo syncHRESULT COpenCallbackConsole::Open_GetPasswordIfAny(UString &password)
42baa3858d3f5d128a5c8466b700098109edcad5f2repo sync{
43baa3858d3f5d128a5c8466b700098109edcad5f2repo sync  if (PasswordIsDefined)
44baa3858d3f5d128a5c8466b700098109edcad5f2repo sync    password = Password;
45baa3858d3f5d128a5c8466b700098109edcad5f2repo sync  return S_OK;
46baa3858d3f5d128a5c8466b700098109edcad5f2repo sync}
47baa3858d3f5d128a5c8466b700098109edcad5f2repo sync
48baa3858d3f5d128a5c8466b700098109edcad5f2repo syncbool COpenCallbackConsole::Open_WasPasswordAsked()
49baa3858d3f5d128a5c8466b700098109edcad5f2repo sync{
50baa3858d3f5d128a5c8466b700098109edcad5f2repo sync  return PasswordWasAsked;
51baa3858d3f5d128a5c8466b700098109edcad5f2repo sync}
52baa3858d3f5d128a5c8466b700098109edcad5f2repo sync
53baa3858d3f5d128a5c8466b700098109edcad5f2repo syncvoid COpenCallbackConsole::Open_ClearPasswordWasAskedFlag()
54baa3858d3f5d128a5c8466b700098109edcad5f2repo sync{
55baa3858d3f5d128a5c8466b700098109edcad5f2repo sync  PasswordWasAsked = false;
56baa3858d3f5d128a5c8466b700098109edcad5f2repo sync}
57baa3858d3f5d128a5c8466b700098109edcad5f2repo sync
58baa3858d3f5d128a5c8466b700098109edcad5f2repo sync#endif
59