// OpenCallbackConsole.h #ifndef ZIP7_INC_OPEN_CALLBACK_CONSOLE_H #define ZIP7_INC_OPEN_CALLBACK_CONSOLE_H #include "../../../Common/StdOutStream.h" #include "../Common/ArchiveOpenCallback.h" #include "PercentPrinter.h" class COpenCallbackConsole: public IOpenCallbackUI { protected: CPercentPrinter _percent; CStdOutStream *_so; CStdOutStream *_se; // UInt64 _totalFiles; UInt64 _totalBytes; bool _totalFilesDefined; // bool _totalBytesDefined; bool NeedPercents() const { return _percent._so != NULL; } public: bool MultiArcMode; void ClosePercents() { if (NeedPercents()) _percent.ClosePrint(true); } COpenCallbackConsole(): _totalBytes(0), _totalFilesDefined(false), // _totalBytesDefined(false), MultiArcMode(false) #ifndef Z7_NO_CRYPTO , PasswordIsDefined(false) // , PasswordWasAsked(false) #endif {} virtual ~COpenCallbackConsole() {} void Init(CStdOutStream *outStream, CStdOutStream *errorStream, CStdOutStream *percentStream) { _so = outStream; _se = errorStream; _percent._so = percentStream; } Z7_IFACE_IMP(IOpenCallbackUI) #ifndef Z7_NO_CRYPTO bool PasswordIsDefined; // bool PasswordWasAsked; UString Password; #endif }; #endif