Index: src/libchcore/TSubTaskStatsInfo.h =================================================================== diff -u -re96806b7f8ff7ca7e9f4afbea603e6351a3dc3e3 -rdb818324a61602e118506ca8b3973e44d997c8de --- src/libchcore/TSubTaskStatsInfo.h (.../TSubTaskStatsInfo.h) (revision e96806b7f8ff7ca7e9f4afbea603e6351a3dc3e3) +++ src/libchcore/TSubTaskStatsInfo.h (.../TSubTaskStatsInfo.h) (revision db818324a61602e118506ca8b3973e44d997c8de) @@ -74,17 +74,16 @@ void SetTotalSize(unsigned long long ullTotalSize); // current item - void IncreaseCurrentItemProcessedSize(unsigned long long ullIncreaseBy); - void DecreaseCurrentItemProcessedSize(unsigned long long ullDecreaseBy); - void SetCurrentItemProcessedSize(unsigned long long ullProcessedSize); - - void IncreaseCurrentItemTotalSize(unsigned long long ullIncreaseBy); - void DecreaseCurrentItemTotalSize(unsigned long long ullDecreaseBy); - void SetCurrentItemTotalSize(unsigned long long ullTotalSize); - + void SetCurrentItemSizes(unsigned long long ullProcessedSize, unsigned long long ullTotalSize); + void ResetCurrentItemProcessedSize(); unsigned long long GetCurrentItemProcessedSize() const; unsigned long long GetCurrentItemTotalSize() const; + // current item processed and overall processed + bool WillAdjustProcessedSizeExceedTotalSize(file_size_t fsIncludedProcessedSize, file_size_t fsNewProcessedSize); + void AdjustProcessedSize(file_size_t fsIncludedProcessedSize, file_size_t fsNewProcessedSize); + void AdjustTotalSize(file_size_t fsIncludedSize, file_size_t fsNewSize); + bool CanCurrentItemSilentResume() const; void SetCurrentItemSilentResume(bool bEnableSilentResume); @@ -119,6 +118,8 @@ void UpdateTime(boost::upgrade_lock& lock) const; + void VerifyProcessedVsTotal(); + private: enum EModifications {