/* */ #ifndef _D_TRANSFER_STAT_H_ #define _D_TRANSFER_STAT_H_ #include "common.h" #include namespace aria2 { class TransferStat { public: unsigned int downloadSpeed; unsigned int uploadSpeed; uint64_t sessionDownloadLength; uint64_t sessionUploadLength; uint64_t allTimeUploadLength; void copy(const TransferStat& stat) { downloadSpeed = stat.downloadSpeed; uploadSpeed = stat.uploadSpeed; sessionDownloadLength = stat.sessionDownloadLength; sessionUploadLength = stat.sessionUploadLength; allTimeUploadLength = stat.allTimeUploadLength; } public: TransferStat():downloadSpeed(0), uploadSpeed(0), sessionDownloadLength(0), sessionUploadLength(0), allTimeUploadLength(0) {} TransferStat(const TransferStat& stat) { copy(stat); } TransferStat& operator=(const TransferStat& stat) { if(this != &stat) { copy(stat); } return *this; } friend TransferStat operator+(const TransferStat& a, const TransferStat& b); unsigned int getDownloadSpeed() const { return downloadSpeed; } void setDownloadSpeed(unsigned int s) { downloadSpeed = s; } unsigned int getUploadSpeed() const { return uploadSpeed; } void setUploadSpeed(unsigned int s) { uploadSpeed = s; } /** * Returns the number of bytes downloaded since the program started. * This is not the total number of bytes downloaded. */ uint64_t getSessionDownloadLength() const { return sessionDownloadLength; } void setSessionDownloadLength(uint64_t s) { sessionDownloadLength = s; } /** * Returns the number of bytes uploaded since the program started. * This is not the total number of bytes uploaded. */ uint64_t getSessionUploadLength() const { return sessionUploadLength; } void setSessionUploadLength(uint64_t s) { sessionUploadLength = s; } void setAllTimeUploadLength(uint64_t s) { allTimeUploadLength = s; } uint64_t getAllTimeUploadLength() const { return allTimeUploadLength; } }; TransferStat operator+(const TransferStat& a, const TransferStat& b); } // namespace aria2 #endif // _D_TRANSFER_STAT_H_