#include //======================================================================= //function : MoniTool_TimerSentry //purpose : //======================================================================= inline MoniTool_TimerSentry::MoniTool_TimerSentry (const Standard_CString cname) : myTimer ( MoniTool_Timer::Timer ( cname ) ) { myTimer->Start(); } //======================================================================= //function : MoniTool_TimerSentry //purpose : //======================================================================= inline MoniTool_TimerSentry::MoniTool_TimerSentry (const Handle(MoniTool_Timer)& timer) { myTimer = timer; myTimer->Start(); } //======================================================================= //function : Destroy //purpose : make stop for corresponding timer before destroying //======================================================================= inline void MoniTool_TimerSentry::Destroy() { if ( ! myTimer.IsNull() ) myTimer->Stop(); } //======================================================================= //function : Timer //purpose : //======================================================================= inline Handle(MoniTool_Timer) MoniTool_TimerSentry::Timer() const { return myTimer; } //======================================================================= //function : Stop //purpose : //======================================================================= inline void MoniTool_TimerSentry::Stop() { if ( ! myTimer.IsNull() ) myTimer->Stop(); myTimer.Nullify(); }