1*f6dc9357SAndroid Build Coastguard Worker // OpenCallbackConsole.h 2*f6dc9357SAndroid Build Coastguard Worker 3*f6dc9357SAndroid Build Coastguard Worker #ifndef ZIP7_INC_OPEN_CALLBACK_CONSOLE_H 4*f6dc9357SAndroid Build Coastguard Worker #define ZIP7_INC_OPEN_CALLBACK_CONSOLE_H 5*f6dc9357SAndroid Build Coastguard Worker 6*f6dc9357SAndroid Build Coastguard Worker #include "../../../Common/StdOutStream.h" 7*f6dc9357SAndroid Build Coastguard Worker 8*f6dc9357SAndroid Build Coastguard Worker #include "../Common/ArchiveOpenCallback.h" 9*f6dc9357SAndroid Build Coastguard Worker 10*f6dc9357SAndroid Build Coastguard Worker #include "PercentPrinter.h" 11*f6dc9357SAndroid Build Coastguard Worker 12*f6dc9357SAndroid Build Coastguard Worker class COpenCallbackConsole: public IOpenCallbackUI 13*f6dc9357SAndroid Build Coastguard Worker { 14*f6dc9357SAndroid Build Coastguard Worker protected: 15*f6dc9357SAndroid Build Coastguard Worker CPercentPrinter _percent; 16*f6dc9357SAndroid Build Coastguard Worker 17*f6dc9357SAndroid Build Coastguard Worker CStdOutStream *_so; 18*f6dc9357SAndroid Build Coastguard Worker CStdOutStream *_se; 19*f6dc9357SAndroid Build Coastguard Worker 20*f6dc9357SAndroid Build Coastguard Worker // UInt64 _totalFiles; 21*f6dc9357SAndroid Build Coastguard Worker UInt64 _totalBytes; 22*f6dc9357SAndroid Build Coastguard Worker bool _totalFilesDefined; 23*f6dc9357SAndroid Build Coastguard Worker // bool _totalBytesDefined; 24*f6dc9357SAndroid Build Coastguard Worker NeedPercents()25*f6dc9357SAndroid Build Coastguard Worker bool NeedPercents() const { return _percent._so && !_percent.DisablePrint; } 26*f6dc9357SAndroid Build Coastguard Worker 27*f6dc9357SAndroid Build Coastguard Worker public: 28*f6dc9357SAndroid Build Coastguard Worker 29*f6dc9357SAndroid Build Coastguard Worker bool MultiArcMode; 30*f6dc9357SAndroid Build Coastguard Worker ClosePercents()31*f6dc9357SAndroid Build Coastguard Worker void ClosePercents() 32*f6dc9357SAndroid Build Coastguard Worker { 33*f6dc9357SAndroid Build Coastguard Worker if (NeedPercents()) 34*f6dc9357SAndroid Build Coastguard Worker _percent.ClosePrint(true); 35*f6dc9357SAndroid Build Coastguard Worker } 36*f6dc9357SAndroid Build Coastguard Worker COpenCallbackConsole()37*f6dc9357SAndroid Build Coastguard Worker COpenCallbackConsole(): 38*f6dc9357SAndroid Build Coastguard Worker _totalBytes(0), 39*f6dc9357SAndroid Build Coastguard Worker _totalFilesDefined(false), 40*f6dc9357SAndroid Build Coastguard Worker // _totalBytesDefined(false), 41*f6dc9357SAndroid Build Coastguard Worker MultiArcMode(false) 42*f6dc9357SAndroid Build Coastguard Worker 43*f6dc9357SAndroid Build Coastguard Worker #ifndef Z7_NO_CRYPTO 44*f6dc9357SAndroid Build Coastguard Worker , PasswordIsDefined(false) 45*f6dc9357SAndroid Build Coastguard Worker // , PasswordWasAsked(false) 46*f6dc9357SAndroid Build Coastguard Worker #endif 47*f6dc9357SAndroid Build Coastguard Worker 48*f6dc9357SAndroid Build Coastguard Worker {} 49*f6dc9357SAndroid Build Coastguard Worker ~COpenCallbackConsole()50*f6dc9357SAndroid Build Coastguard Worker virtual ~COpenCallbackConsole() {} 51*f6dc9357SAndroid Build Coastguard Worker Init(CStdOutStream * outStream,CStdOutStream * errorStream,CStdOutStream * percentStream,bool disablePercents)52*f6dc9357SAndroid Build Coastguard Worker void Init( 53*f6dc9357SAndroid Build Coastguard Worker CStdOutStream *outStream, 54*f6dc9357SAndroid Build Coastguard Worker CStdOutStream *errorStream, 55*f6dc9357SAndroid Build Coastguard Worker CStdOutStream *percentStream, 56*f6dc9357SAndroid Build Coastguard Worker bool disablePercents) 57*f6dc9357SAndroid Build Coastguard Worker { 58*f6dc9357SAndroid Build Coastguard Worker _so = outStream; 59*f6dc9357SAndroid Build Coastguard Worker _se = errorStream; 60*f6dc9357SAndroid Build Coastguard Worker _percent._so = percentStream; 61*f6dc9357SAndroid Build Coastguard Worker _percent.DisablePrint = disablePercents; 62*f6dc9357SAndroid Build Coastguard Worker } 63*f6dc9357SAndroid Build Coastguard Worker 64*f6dc9357SAndroid Build Coastguard Worker Z7_IFACE_IMP(IOpenCallbackUI) 65*f6dc9357SAndroid Build Coastguard Worker 66*f6dc9357SAndroid Build Coastguard Worker #ifndef Z7_NO_CRYPTO 67*f6dc9357SAndroid Build Coastguard Worker bool PasswordIsDefined; 68*f6dc9357SAndroid Build Coastguard Worker // bool PasswordWasAsked; 69*f6dc9357SAndroid Build Coastguard Worker UString Password; 70*f6dc9357SAndroid Build Coastguard Worker #endif 71*f6dc9357SAndroid Build Coastguard Worker }; 72*f6dc9357SAndroid Build Coastguard Worker 73*f6dc9357SAndroid Build Coastguard Worker #endif 74