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