/* */ #ifndef D_CONSOLE_STAT_CALC_H #define D_CONSOLE_STAT_CALC_H #include "StatCalc.h" #include #include #include "TimerA2.h" namespace aria2 { class SizeFormatter:public std::unary_function { protected: virtual std::string format(int64_t size) const = 0; public: virtual ~SizeFormatter() {} std::string operator()(int64_t size) const; }; class ConsoleStatCalc:public StatCalc { private: Timer cp_; Timer lastSummaryNotified_; time_t summaryInterval_; SharedHandle sizeFormatter_; bool readoutVisibility_; bool truncate_; public: ConsoleStatCalc(time_t summaryInterval, bool humanReadable = true); virtual ~ConsoleStatCalc() {} virtual void calculateStat(const DownloadEngine* e); void setReadoutVisibility(bool visibility) { readoutVisibility_ = visibility; } void setTruncate(bool truncate) { truncate_ = truncate; } }; typedef SharedHandle ConsoleStatCalcHandle; } // namespace aria2 #endif // D_CONSOLE_STAT_CALC_H