/* */ #ifndef D_CONSOLE_STAT_CALC_H #define D_CONSOLE_STAT_CALC_H #include "StatCalc.h" #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_; public: ConsoleStatCalc(time_t summaryInterval, bool humanReadable = true); virtual ~ConsoleStatCalc() {} virtual void calculateStat(const DownloadEngine* e); }; typedef SharedHandle ConsoleStatCalcHandle; } // namespace aria2 #endif // D_CONSOLE_STAT_CALC_H