tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

PercentPrinter.h (993B)


      1 // PercentPrinter.h
      2 
      3 #ifndef __PERCENT_PRINTER_H
      4 #define __PERCENT_PRINTER_H
      5 
      6 #include "../../../Common/StdOutStream.h"
      7 
      8 struct CPercentPrinterState
      9 {
     10  UInt64 Completed;
     11  UInt64 Total;
     12  
     13  UInt64 Files;
     14 
     15  AString Command;
     16  UString FileName;
     17 
     18  void ClearCurState();
     19 
     20  CPercentPrinterState():
     21      Completed(0),
     22      Total((UInt64)(Int64)-1),
     23      Files(0)
     24    {}
     25 };
     26 
     27 class CPercentPrinter: public CPercentPrinterState
     28 {
     29  UInt32 _tickStep;
     30  DWORD _prevTick;
     31 
     32  AString _s;
     33 
     34  AString _printedString;
     35  AString _temp;
     36  UString _tempU;
     37 
     38  CPercentPrinterState _printedState;
     39  AString _printedPercents;
     40 
     41  void GetPercents();
     42 
     43 public:
     44  CStdOutStream *_so;
     45 
     46  bool NeedFlush;
     47  unsigned MaxLen;
     48  
     49  CPercentPrinter(UInt32 tickStep = 200):
     50      _tickStep(tickStep),
     51      _prevTick(0),
     52      NeedFlush(true),
     53      MaxLen(80 - 1)
     54  {}
     55 
     56  ~CPercentPrinter();
     57 
     58  void ClosePrint(bool needFlush);
     59  void Print();
     60 };
     61 
     62 #endif