Diana Software
Public Member Functions | Private Attributes | List of all members
QWatchdogTimer Class Reference

thread-safe timer class More...

Public Member Functions

 QWatchdogTimer ()
 
virtual ~QWatchdogTimer ()
 
QError SetTimeoutSec (double timeout)
 
QError TimeoutElapsed (bool &elapsed) const
 
QError Start ()
 
QError Stop ()
 

Private Attributes

boost::mutex * fMutex
 
boost::posix_time::time_duration * fTimeout
 
boost::posix_time::ptime * fLastStartTime
 

Detailed Description

thread-safe timer class

Author
Sergio Di Domizio

Definition at line 20 of file QWatchdogTimer.hh.

Constructor & Destructor Documentation

◆ QWatchdogTimer()

QWatchdogTimer::QWatchdogTimer ( )

Definition at line 9 of file QWatchdogTimer.cc.

References fMutex.

◆ ~QWatchdogTimer()

QWatchdogTimer::~QWatchdogTimer ( )
virtual

Definition at line 20 of file QWatchdogTimer.cc.

References fLastStartTime, fMutex, and fTimeout.

Member Function Documentation

◆ SetTimeoutSec()

QError QWatchdogTimer::SetTimeoutSec ( double  timeout)

set the timeout in seconds

Definition at line 31 of file QWatchdogTimer.cc.

References fMutex, fTimeout, and QERR_SUCCESS.

Referenced by QDb::InitWatchdogThread().

◆ Start()

QError QWatchdogTimer::Start ( )

Start the timer, or reset it if it is already running

Definition at line 65 of file QWatchdogTimer.cc.

References fLastStartTime, fMutex, and QERR_SUCCESS.

Referenced by QDb::UpdateWatchdogTimer().

◆ Stop()

QError QWatchdogTimer::Stop ( )

stop the timer

Definition at line 78 of file QWatchdogTimer.cc.

References fLastStartTime, fMutex, and QERR_SUCCESS.

◆ TimeoutElapsed()

QError QWatchdogTimer::TimeoutElapsed ( bool &  elapsed) const

Check whether the timeout elapsed

On success, the value of elapsed tells wehther or not the timeout has elapsed. If the timer is not running, elapsed is set to false.

Definition at line 43 of file QWatchdogTimer.cc.

References fLastStartTime, fMutex, fTimeout, and QERR_SUCCESS.

Referenced by QDbWatchdogThread::operator()().

Member Data Documentation

◆ fLastStartTime

boost::posix_time::ptime* QWatchdogTimer::fLastStartTime
private

Definition at line 47 of file QWatchdogTimer.hh.

Referenced by Start(), Stop(), TimeoutElapsed(), and ~QWatchdogTimer().

◆ fMutex

boost::mutex* QWatchdogTimer::fMutex
mutableprivate

◆ fTimeout

boost::posix_time::time_duration* QWatchdogTimer::fTimeout
private

Definition at line 46 of file QWatchdogTimer.hh.

Referenced by SetTimeoutSec(), TimeoutElapsed(), and ~QWatchdogTimer().


The documentation for this class was generated from the following files: