Home | History | Annotate | Download | only in Console
      1 // UpdateCallbackConsole.h
      2 
      3 #ifndef __UPDATE_CALLBACK_CONSOLE_H
      4 #define __UPDATE_CALLBACK_CONSOLE_H
      5 
      6 #include "Common/StdOutStream.h"
      7 
      8 #include "../Common/Update.h"
      9 
     10 #include "PercentPrinter.h"
     11 
     12 class CUpdateCallbackConsole: public IUpdateCallbackUI2
     13 {
     14   CPercentPrinter m_PercentPrinter;
     15   bool m_NeedBeClosed;
     16   bool m_NeedNewLine;
     17 
     18   bool m_WarningsMode;
     19 
     20   CStdOutStream *OutStream;
     21 public:
     22   bool EnablePercents;
     23   bool StdOutMode;
     24 
     25   #ifndef _NO_CRYPTO
     26   bool PasswordIsDefined;
     27   UString Password;
     28   bool AskPassword;
     29   #endif
     30 
     31   CUpdateCallbackConsole():
     32       m_PercentPrinter(1 << 16),
     33       #ifndef _NO_CRYPTO
     34       PasswordIsDefined(false),
     35       AskPassword(false),
     36       #endif
     37       StdOutMode(false),
     38       EnablePercents(true),
     39       m_WarningsMode(false)
     40       {}
     41 
     42   ~CUpdateCallbackConsole() { Finilize(); }
     43   void Init(CStdOutStream *outStream)
     44   {
     45     m_NeedBeClosed = false;
     46     m_NeedNewLine = false;
     47     FailedFiles.Clear();
     48     FailedCodes.Clear();
     49     OutStream = outStream;
     50     m_PercentPrinter.OutStream = outStream;
     51   }
     52 
     53   INTERFACE_IUpdateCallbackUI2(;)
     54 
     55   UStringVector FailedFiles;
     56   CRecordVector<HRESULT> FailedCodes;
     57 
     58   UStringVector CantFindFiles;
     59   CRecordVector<HRESULT> CantFindCodes;
     60 };
     61 
     62 #endif
     63