Index: src/libchcore/TTaskLocalStats.h =================================================================== diff -u -N -r12a1725bfd04b0f55fd0fda302975fdcd4174943 -ra5f396da5ed5ffb3fcd9fdf22afb5a7fd07e1ab8 --- src/libchcore/TTaskLocalStats.h (.../TTaskLocalStats.h) (revision 12a1725bfd04b0f55fd0fda302975fdcd4174943) +++ src/libchcore/TTaskLocalStats.h (.../TTaskLocalStats.h) (revision a5f396da5ed5ffb3fcd9fdf22afb5a7fd07e1ab8) @@ -26,6 +26,7 @@ #include "libchcore.h" #include "ESubTaskTypes.h" #include "TSubTaskStatsInfo.h" +#include "TTaskStatsSnapshot.h" BEGIN_CHCORE_NAMESPACE @@ -61,17 +62,17 @@ ~TTaskLocalStatsInfo(); void Clear(); - void GetSnapshot(TTaskStatsSnapshot& rSnapshot) const; + void GetSnapshot(TTaskStatsSnapshotPtr& spSnapshot) const; void SetCurrentSubOperationType(ESubOperationType eSubOperationType); + bool IsRunning() const; + protected: // running/not running state void MarkTaskAsRunning(); void MarkTaskAsNotRunning(); - bool IsRunning() const; - // time tracking void EnableTimeTracking(); void DisableTimeTracking(); @@ -81,25 +82,18 @@ void UpdateTime(boost::upgrade_lock& lock) const; #pragma warning(pop) - void SetTimeElapsed(time_t timeElapsed); - time_t GetTimeElapsed(); + void SetTimeElapsed(unsigned long long timeElapsed); + unsigned long long GetTimeElapsed(); - // current subtask - ESubOperationType GetCurrentSubOperationType() const; - private: TTaskLocalStatsInfo(const TTaskLocalStatsInfo&); TTaskLocalStatsInfo& operator=(const TTaskLocalStatsInfo&); private: volatile bool m_bTaskIsRunning; - // time - mutable time_t m_timeElapsed; - mutable time_t m_timeLast; + mutable TSimpleTimer m_tTimer; - volatile ESubOperationType m_eCurrentSubOperationType; - #pragma warning(push) #pragma warning(disable: 4251) mutable boost::shared_mutex m_lock;