QXRD  0.11.16
qxrdresponsetimer.cpp
Go to the documentation of this file.
1 #include "qxrdresponsetimer.h"
2 #include <stdlib.h>
3 #include "qxrdapplication.h"
4 
5 QxrdResponseTimer::QxrdResponseTimer(int interval, int allowance, QcepObject *parent) :
6  QObject(parent),
7  m_ResponseInterval(interval),
8  m_ResponseAllowance(allowance)
9 {
10  connect(&m_ResponseTimer, &QTimer::timeout, this, &QxrdResponseTimer::onTimeout);
11 
12  m_ResponseTime.start();
14 }
15 
17 {
18  int elapsedTime = m_ResponseTime.restart();
19 
20  if (g_Application && abs(elapsedTime-m_ResponseInterval) > m_ResponseAllowance) {
21  g_Application->printMessage(tr("Excessive response time %1").arg(elapsedTime-m_ResponseInterval));
22  }
23 }
virtual void printMessage(QString msg, QDateTime ts=QDateTime::currentDateTime())=0
QcepApplication * g_Application
QxrdResponseTimer(int interval, int allowance, QcepObject *parent)