summaryrefslogtreecommitdiffstats
path: root/src/serialbus/qmodbusclient_p.h
diff options
context:
space:
mode:
authorAlex Blasche <alexander.blasche@theqtcompany.com>2015-11-06 13:06:57 +0100
committerKarsten Heimrich <karsten.heimrich@theqtcompany.com>2015-11-07 08:55:38 +0000
commita67800bd67043f274be7663a4e992931813f8a22 (patch)
treefbd65aeaf33f35ea675633f3b8cb3fb40d03713e /src/serialbus/qmodbusclient_p.h
parentc75d6baeac91ceee67d6744f4fc87017e47c1128 (diff)
Introduce API to manage response timer
The timer will keep track of the expired time since sending a request. Change-Id: Iecf64980d3fea778d391a87fd63c020600e0ec02 Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com>
Diffstat (limited to 'src/serialbus/qmodbusclient_p.h')
-rw-r--r--src/serialbus/qmodbusclient_p.h13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/serialbus/qmodbusclient_p.h b/src/serialbus/qmodbusclient_p.h
index b17a58d..c9d8966 100644
--- a/src/serialbus/qmodbusclient_p.h
+++ b/src/serialbus/qmodbusclient_p.h
@@ -41,6 +41,9 @@
#include "qmodbusdevice_p.h"
#include "qmodbuspdu.h"
+#include <QtCore/qtimer.h>
+#include <QtCore/qdebug.h>
+
//
// W A R N I N G
// -------------
@@ -58,7 +61,7 @@ class Q_AUTOTEST_EXPORT QModbusClientPrivate : public QModbusDevicePrivate
{
Q_DECLARE_PUBLIC(QModbusClient)
public:
- QModbusClientPrivate() : timeout(200)
+ QModbusClientPrivate() : m_responseTimeoutDuration(200), m_responseTimer(Q_NULLPTR)
{
}
@@ -81,7 +84,13 @@ public:
bool processReadWriteMultipleRegistersResponse(const QModbusResponse &response,
QModbusDataUnit *data);
- int timeout;
+ void startResponseTimer();
+ void stopResponseTimer();
+
+ virtual void handleResponseTimeout() {}
+
+ int m_responseTimeoutDuration;
+ QTimer *m_responseTimer;
};
QT_END_NAMESPACE