Index: src/libchcore/TTaskLocalStats.h =================================================================== diff -u -N -rfc67a825635691930b3ac00dc95b16e59f3d2fae -r7d59ab9183c933f2fc2682a95fb5d26cf2f952d7 --- src/libchcore/TTaskLocalStats.h (.../TTaskLocalStats.h) (revision fc67a825635691930b3ac00dc95b16e59f3d2fae) +++ src/libchcore/TTaskLocalStats.h (.../TTaskLocalStats.h) (revision 7d59ab9183c933f2fc2682a95fb5d26cf2f952d7) @@ -28,37 +28,16 @@ #include "TSubTaskStatsInfo.h" #include "TTaskStatsSnapshot.h" #include "TSharedModificationTracker.h" +#include "IRunningTimeControl.h" BEGIN_CHCORE_NAMESPACE class TTaskLocalStatsInfo; class TTaskStatsSnapshot; -class TTaskProcessingGuard +class TTaskLocalStatsInfo : public IRunningTimeControl { public: - TTaskProcessingGuard(TTaskLocalStatsInfo& rLocalStats); - ~TTaskProcessingGuard(); - - void PauseTimeTracking(); - void UnPauseTimeTracking(); - - void PauseRunningState(); - void UnPauseRunningState(); - -private: - TTaskProcessingGuard(const TTaskProcessingGuard& rLocalStats); - TTaskProcessingGuard& operator=(const TTaskProcessingGuard& rLocalStats); - -private: - TTaskLocalStatsInfo& m_rLocalStats; - bool m_bTimeTrackingPaused; - bool m_bRunningStatePaused; -}; - -class TTaskLocalStatsInfo -{ -public: TTaskLocalStatsInfo(); ~TTaskLocalStatsInfo(); @@ -76,12 +55,12 @@ protected: // running/not running state - void MarkTaskAsRunning(); - void MarkTaskAsNotRunning(); + virtual void MarkAsRunning() override; + virtual void MarkAsNotRunning() override; // time tracking - void EnableTimeTracking(); - void DisableTimeTracking(); + virtual void EnableTimeTracking() override; + virtual void DisableTimeTracking() override; #pragma warning(push) #pragma warning(disable: 4251) @@ -116,7 +95,7 @@ mutable boost::shared_mutex m_lock; #pragma warning(pop) - friend class TTaskProcessingGuard; + friend class TScopedRunningTimeTracker; }; END_CHCORE_NAMESPACE