Warning, /include/opencascade/MoniTool_TimerSentry.lxx is written in an unsupported language. File is not indexed.
0001 // Copyright (c) 1999-2014 OPEN CASCADE SAS
0002 //
0003 // This file is part of Open CASCADE Technology software library.
0004 //
0005 // This library is free software; you can redistribute it and/or modify it under
0006 // the terms of the GNU Lesser General Public License version 2.1 as published
0007 // by the Free Software Foundation, with special exception defined in the file
0008 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
0009 // distribution for complete text of the license and disclaimer of any warranty.
0010 //
0011 // Alternatively, this file may be used under the terms of Open CASCADE
0012 // commercial license or contractual agreement.
0013
0014 #include <MoniTool_Timer.hxx>
0015
0016 //=======================================================================
0017 //function : MoniTool_TimerSentry
0018 //purpose :
0019 //=======================================================================
0020
0021 inline MoniTool_TimerSentry::MoniTool_TimerSentry (const Standard_CString cname)
0022 : myTimer ( MoniTool_Timer::Timer ( cname ) )
0023 {
0024 myTimer->Start();
0025 }
0026
0027 //=======================================================================
0028 //function : MoniTool_TimerSentry
0029 //purpose :
0030 //=======================================================================
0031
0032 inline MoniTool_TimerSentry::MoniTool_TimerSentry (const Handle(MoniTool_Timer)& timer)
0033 {
0034 myTimer = timer;
0035 myTimer->Start();
0036 }
0037
0038 //=======================================================================
0039 //function : Destructor
0040 //purpose : make stop for corresponding timer before destroying
0041 //=======================================================================
0042
0043 inline MoniTool_TimerSentry::~MoniTool_TimerSentry()
0044 {
0045 if ( ! myTimer.IsNull() ) myTimer->Stop();
0046 }
0047
0048 //=======================================================================
0049 //function : Timer
0050 //purpose :
0051 //=======================================================================
0052
0053 inline Handle(MoniTool_Timer) MoniTool_TimerSentry::Timer() const
0054 {
0055 return myTimer;
0056 }
0057
0058 //=======================================================================
0059 //function : Stop
0060 //purpose :
0061 //=======================================================================
0062
0063 inline void MoniTool_TimerSentry::Stop()
0064 {
0065 if ( ! myTimer.IsNull() ) myTimer->Stop();
0066 myTimer.Nullify();
0067 }