1 // OpenCallbackConsole.cpp
2 
3 #include "StdAfx.h"
4 
5 #include "OpenCallbackConsole.h"
6 
7 #include "ConsoleClose.h"
8 #include "UserInputUtils.h"
9 
10 static HRESULT CheckBreak2()
11 {
12   return NConsoleClose::TestBreakSignal() ? E_ABORT : S_OK;
13 }
14 
15 HRESULT COpenCallbackConsole::Open_CheckBreak()
16 {
17   return CheckBreak2();
18 }
19 
20 HRESULT COpenCallbackConsole::Open_SetTotal(const UInt64 *files, const UInt64 *bytes)
21 {
22   if (!MultiArcMode && NeedPercents())
23   {
24     if (files)
25     {
26       _totalFilesDefined = true;
27       // _totalFiles = *files;
28       _percent.Total = *files;
29     }
30     else
31       _totalFilesDefined = false;
32 
33     if (bytes)
34     {
35       _totalBytesDefined = true;
36       // _totalBytes = *bytes;
37       if (!files)
38         _percent.Total = *bytes;
39     }
40     else
41       _totalBytesDefined = false;
42   }
43 
44   return CheckBreak2();
45 }
46 
47 HRESULT COpenCallbackConsole::Open_SetCompleted(const UInt64 *files, const UInt64 *bytes)
48 {
49   if (!MultiArcMode && NeedPercents())
50   {
51     if (files)
52     {
53       _percent.Files = *files;
54       if (_totalFilesDefined)
55         _percent.Completed = *files;
56     }
57 
58     if (bytes)
59     {
60       if (!_totalFilesDefined)
61         _percent.Completed = *bytes;
62     }
63     _percent.Print();
64   }
65 
66   return CheckBreak2();
67 }
68 
69 HRESULT COpenCallbackConsole::Open_Finished()
70 {
71   ClosePercents();
72   return S_OK;
73 }
74 
75 
76 #ifndef _NO_CRYPTO
77 
78 HRESULT COpenCallbackConsole::Open_CryptoGetTextPassword(BSTR *password)
79 {
80   *password = NULL;
81   RINOK(CheckBreak2());
82 
83   if (!PasswordIsDefined)
84   {
85     ClosePercents();
86     Password = GetPassword(_so);
87     PasswordIsDefined = true;
88   }
89   return StringToBstr(Password, password);
90 }
91 
92 /*
93 HRESULT COpenCallbackConsole::Open_GetPasswordIfAny(bool &passwordIsDefined, UString &password)
94 {
95   passwordIsDefined = PasswordIsDefined;
96   password = Password;
97   return S_OK;
98 }
99 
100 bool COpenCallbackConsole::Open_WasPasswordAsked()
101 {
102   return PasswordWasAsked;
103 }
104 
105 void COpenCallbackConsole::Open_Clear_PasswordWasAsked_Flag ()
106 {
107   PasswordWasAsked = false;
108 }
109 */
110 
111 #endif
112