diff options
author | Andre Hartmann <aha_1980@gmx.de> | 2018-09-13 09:35:36 +0200 |
---|---|---|
committer | André Hartmann <aha_1980@gmx.de> | 2018-09-13 10:20:02 +0000 |
commit | 3608a03b3aec7b2abcb5df61c105ef7ed111b4d3 (patch) | |
tree | e0af25b2c11aaa940051696e8274c21d91503127 | |
parent | 4d1f916efb4c814e76dce9f05e092b301aebd2bd (diff) |
QCanBusDevice: Don't return a bool value from clear()
As pointed out in the API review, this could lead to confusion
when reading statements like this:
if (device->clear(QCanBusDevice::Input)) {
// ...
}
Change-Id: Ic039d3ed32f9ef8e7c3fb8b5f0659b8c9afd8038
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
-rw-r--r-- | src/serialbus/qcanbusdevice.cpp | 6 | ||||
-rw-r--r-- | src/serialbus/qcanbusdevice.h | 2 | ||||
-rw-r--r-- | tests/auto/qcanbusdevice/tst_qcanbusdevice.cpp | 18 |
3 files changed, 12 insertions, 14 deletions
diff --git a/src/serialbus/qcanbusdevice.cpp b/src/serialbus/qcanbusdevice.cpp index 4484225..6dc8abd 100644 --- a/src/serialbus/qcanbusdevice.cpp +++ b/src/serialbus/qcanbusdevice.cpp @@ -450,12 +450,12 @@ qint64 QCanBusDevice::framesToWrite() const \sa framesAvailable(), readFrame(), framesToWrite(), writeFrame(), */ -bool QCanBusDevice::clear(QCanBusDevice::Directions direction) +void QCanBusDevice::clear(QCanBusDevice::Directions direction) { Q_D(QCanBusDevice); if (Q_UNLIKELY(d->state != ConnectedState)) - return false; + return; if (direction & Direction::Input) { QMutexLocker(&d->incomingFramesGuard); @@ -464,8 +464,6 @@ bool QCanBusDevice::clear(QCanBusDevice::Directions direction) if (direction & Direction::Output) d->outgoingFrames.clear(); - - return true; } /*! diff --git a/src/serialbus/qcanbusdevice.h b/src/serialbus/qcanbusdevice.h index 5d99e6a..a47fac4 100644 --- a/src/serialbus/qcanbusdevice.h +++ b/src/serialbus/qcanbusdevice.h @@ -115,7 +115,7 @@ public: AllDirections = Input | Output }; Q_DECLARE_FLAGS(Directions, Direction) - bool clear(Directions direction = Direction::AllDirections); + void clear(Directions direction = Direction::AllDirections); virtual bool waitForFramesWritten(int msecs); virtual bool waitForFramesReceived(int msecs); diff --git a/tests/auto/qcanbusdevice/tst_qcanbusdevice.cpp b/tests/auto/qcanbusdevice/tst_qcanbusdevice.cpp index 389e013..85d445f 100644 --- a/tests/auto/qcanbusdevice/tst_qcanbusdevice.cpp +++ b/tests/auto/qcanbusdevice/tst_qcanbusdevice.cpp @@ -291,16 +291,15 @@ void tst_QCanBusDevice::readAll() void tst_QCanBusDevice::clearInputBuffer() { - device->disconnectDevice(); - QVERIFY(!device->clear(QCanBusDevice::Input)); - - QVERIFY(device->connectDevice()); - QTRY_VERIFY_WITH_TIMEOUT(device->state() == QCanBusDevice::ConnectedState, 5000); + if (device->state() != QCanBusDevice::ConnectedState) { + QVERIFY(device->connectDevice()); + QTRY_VERIFY_WITH_TIMEOUT(device->state() == QCanBusDevice::ConnectedState, 5000); + } for (int i = 0; i < 10; ++i) device->triggerNewFrame(); - QVERIFY(device->clear(QCanBusDevice::Input)); + device->clear(QCanBusDevice::Input); QVERIFY(!device->framesAvailable()); } @@ -309,10 +308,11 @@ void tst_QCanBusDevice::clearOutputBuffer() { // this test requires buffered writing device->setWriteBuffered(true); - device->disconnectDevice(); - QVERIFY(!device->clear(QCanBusDevice::Output)); - QVERIFY(device->connectDevice()); + if (device->state() != QCanBusDevice::ConnectedState) { + QVERIFY(device->connectDevice()); + QTRY_VERIFY_WITH_TIMEOUT(device->state() == QCanBusDevice::ConnectedState, 5000); + } // first test buffered writing, frames will be written after some delay QSignalSpy spy(device.data(), &QCanBusDevice::framesWritten); |