From 1266e02a63f83c3a644e77fd07edb020602e6f50 Mon Sep 17 00:00:00 2001 From: Denis Shienkov Date: Sat, 22 Nov 2014 23:22:41 +0300 Subject: Simplify handling of overlapped result There is not necessary to pass direction to handleOverlappedResult(). Because it is passed already as a second argument (pointer to OVERLAPPED structure that defines a desired direction). Also this method is renamed to more simple and short name. Change-Id: I9c20cf97c1712aed8d3e9ea6d9b4687ce4487523 Reviewed-by: Sergey Belyashov --- src/serialport/qserialport_win.cpp | 12 ++++++------ src/serialport/qserialport_win_p.h | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/serialport/qserialport_win.cpp b/src/serialport/qserialport_win.cpp index a43e620..5a2cf8e 100644 --- a/src/serialport/qserialport_win.cpp +++ b/src/serialport/qserialport_win.cpp @@ -518,7 +518,7 @@ bool QSerialPortPrivate::setDataErrorPolicy(QSerialPort::DataErrorPolicy policy) bool QSerialPortPrivate::_q_completeAsyncCommunication() { - if (handleOverlappedResult(0, communicationOverlapped) == qint64(-1)) + if (overlappedResult(communicationOverlapped) == qint64(-1)) return false; if (EV_ERR & triggeredEventMask) handleLineStatusErrors(); @@ -528,7 +528,7 @@ bool QSerialPortPrivate::_q_completeAsyncCommunication() bool QSerialPortPrivate::_q_completeAsyncRead() { - const qint64 bytesTransferred = handleOverlappedResult(QSerialPort::Input, readCompletionOverlapped); + const qint64 bytesTransferred = overlappedResult(readCompletionOverlapped); if (bytesTransferred == qint64(-1)) { readStarted = false; return false; @@ -553,7 +553,7 @@ bool QSerialPortPrivate::_q_completeAsyncWrite() Q_Q(QSerialPort); if (writeStarted) { - const qint64 bytesTransferred = handleOverlappedResult(QSerialPort::Output, writeCompletionOverlapped); + const qint64 bytesTransferred = overlappedResult(writeCompletionOverlapped); if (bytesTransferred == qint64(-1)) { writeStarted = false; return false; @@ -809,7 +809,7 @@ bool QSerialPortPrivate::updateCommTimeouts() return true; } -qint64 QSerialPortPrivate::handleOverlappedResult(int direction, OVERLAPPED &overlapped) +qint64 QSerialPortPrivate::overlappedResult(OVERLAPPED &overlapped) { Q_Q(QSerialPort); @@ -819,9 +819,9 @@ qint64 QSerialPortPrivate::handleOverlappedResult(int direction, OVERLAPPED &ove if (error == QSerialPort::NoError) return qint64(0); if (error != QSerialPort::ResourceError) { - if (direction == QSerialPort::Input) + if (&overlapped == &readCompletionOverlapped) q->setError(QSerialPort::ReadError); - else if (direction == QSerialPort::Output) + else if (&overlapped == &writeCompletionOverlapped) q->setError(QSerialPort::WriteError); else q->setError(error); diff --git a/src/serialport/qserialport_win_p.h b/src/serialport/qserialport_win_p.h index 6b009fe..78529e8 100644 --- a/src/serialport/qserialport_win_p.h +++ b/src/serialport/qserialport_win_p.h @@ -141,7 +141,7 @@ private: bool initialize(QIODevice::OpenMode mode); bool updateDcb(); bool updateCommTimeouts(); - qint64 handleOverlappedResult(int direction, OVERLAPPED &overlapped); + qint64 overlappedResult(OVERLAPPED &overlapped); bool waitAnyEvent(int msecs, bool *timedOut, HANDLE *triggeredEvent); -- cgit v1.2.1