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 { 42 // _totalBytesDefined = false; 43 if (!files) 44 _percent.Total = _totalBytes; 45 } 46 } 47 48 return CheckBreak2(); 49 } 50 51 HRESULT COpenCallbackConsole::Open_SetCompleted(const UInt64 *files, const UInt64 *bytes) 52 { 53 if (!MultiArcMode && NeedPercents()) 54 { 55 if (files) 56 { 57 _percent.Files = *files; 58 if (_totalFilesDefined) 59 _percent.Completed = *files; 60 } 61 62 if (bytes) 63 { 64 if (!_totalFilesDefined) 65 _percent.Completed = *bytes; 66 } 67 _percent.Print(); 68 } 69 70 return CheckBreak2(); 71 } 72 73 HRESULT COpenCallbackConsole::Open_Finished() 74 { 75 ClosePercents(); 76 return S_OK; 77 } 78 79 80 #ifndef _NO_CRYPTO 81 82 HRESULT COpenCallbackConsole::Open_CryptoGetTextPassword(BSTR *password) 83 { 84 *password = NULL; 85 RINOK(CheckBreak2()); 86 87 if (!PasswordIsDefined) 88 { 89 ClosePercents(); 90 RINOK(GetPassword_HRESULT(_so, Password)); 91 PasswordIsDefined = true; 92 } 93 return StringToBstr(Password, password); 94 } 95 96 /* 97 HRESULT COpenCallbackConsole::Open_GetPasswordIfAny(bool &passwordIsDefined, UString &password) 98 { 99 passwordIsDefined = PasswordIsDefined; 100 password = Password; 101 return S_OK; 102 } 103 104 bool COpenCallbackConsole::Open_WasPasswordAsked() 105 { 106 return PasswordWasAsked; 107 } 108 109 void COpenCallbackConsole::Open_Clear_PasswordWasAsked_Flag () 110 { 111 PasswordWasAsked = false; 112 } 113 */ 114 115 #endif 116