From da09f8f01d13ff467f0a628b6348aa9300160875 Mon Sep 17 00:00:00 2001 From: Denis Shienkov Date: Wed, 27 Sep 2017 19:25:01 +0300 Subject: Revamp the Console Asynchronous Writer Example MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Use the 'const' keywords more. * Split very long lines. * Remove QT_USE_NAMESPACE macro. * Update includes to common style. * Use more member class initializations. * Remove empy dtor. Task-number: QTBUG-60652 Change-Id: Ia9b108ad9fd65d55dd88e2d6c1e3ee36830abb6e Reviewed-by: André Hartmann Reviewed-by: Alex Blasche --- examples/serialport/cwriterasync/main.cpp | 26 ++++++------ .../serialport/cwriterasync/serialportwriter.cpp | 46 +++++++++++++--------- .../serialport/cwriterasync/serialportwriter.h | 23 +++++------ 3 files changed, 50 insertions(+), 45 deletions(-) diff --git a/examples/serialport/cwriterasync/main.cpp b/examples/serialport/cwriterasync/main.cpp index 4ffb44b..4d65e0a 100644 --- a/examples/serialport/cwriterasync/main.cpp +++ b/examples/serialport/cwriterasync/main.cpp @@ -50,33 +50,32 @@ #include "serialportwriter.h" -#include - -#include #include #include +#include #include - -QT_USE_NAMESPACE +#include int main(int argc, char *argv[]) { QCoreApplication coreApplication(argc, argv); - int argumentCount = QCoreApplication::arguments().size(); - QStringList argumentList = QCoreApplication::arguments(); + const int argumentCount = QCoreApplication::arguments().size(); + const QStringList argumentList = QCoreApplication::arguments(); QTextStream standardOutput(stdout); if (argumentCount == 1) { - standardOutput << QObject::tr("Usage: %1 [baudrate]").arg(argumentList.first()) << endl; + standardOutput << QObject::tr("Usage: %1 [baudrate]") + .arg(argumentList.first()) << endl; return 1; } QSerialPort serialPort; - QString serialPortName = argumentList.at(1); + const QString serialPortName = argumentList.at(1); serialPort.setPortName(serialPortName); - int serialPortBaudRate = (argumentCount > 2) ? argumentList.at(2).toInt() : QSerialPort::Baud9600; + const int serialPortBaudRate = (argumentCount > 2) + ? argumentList.at(2).toInt() : QSerialPort::Baud9600; serialPort.setBaudRate(serialPortBaudRate); serialPort.open(QIODevice::WriteOnly); @@ -87,11 +86,14 @@ int main(int argc, char *argv[]) return 1; } - QByteArray writeData(dataFile.readAll()); + const QByteArray writeData(dataFile.readAll()); dataFile.close(); if (writeData.isEmpty()) { - standardOutput << QObject::tr("Either no data was currently available on the standard input for reading, or an error occurred for port %1, error: %2").arg(serialPortName).arg(serialPort.errorString()) << endl; + standardOutput << QObject::tr("Either no data was currently available on " + "the standard input for reading, " + "or an error occurred for port %1, error: %2") + .arg(serialPortName).arg(serialPort.errorString()) << endl; return 1; } diff --git a/examples/serialport/cwriterasync/serialportwriter.cpp b/examples/serialport/cwriterasync/serialportwriter.cpp index e940f3d..c2916bb 100644 --- a/examples/serialport/cwriterasync/serialportwriter.cpp +++ b/examples/serialport/cwriterasync/serialportwriter.cpp @@ -52,45 +52,47 @@ #include -QT_USE_NAMESPACE - -SerialPortWriter::SerialPortWriter(QSerialPort *serialPort, QObject *parent) - : QObject(parent) - , m_serialPort(serialPort) - , m_standardOutput(stdout) - , m_bytesWritten(0) +SerialPortWriter::SerialPortWriter(QSerialPort *serialPort, QObject *parent) : + QObject(parent), + m_serialPort(serialPort), + m_standardOutput(stdout) { m_timer.setSingleShot(true); - connect(m_serialPort, &QSerialPort::bytesWritten, this, &SerialPortWriter::handleBytesWritten); - connect(m_serialPort, static_cast(&QSerialPort::error), + connect(m_serialPort, &QSerialPort::bytesWritten, + this, &SerialPortWriter::handleBytesWritten); + connect(m_serialPort, &QSerialPort::errorOccurred, this, &SerialPortWriter::handleError); connect(&m_timer, &QTimer::timeout, this, &SerialPortWriter::handleTimeout); } -SerialPortWriter::~SerialPortWriter() -{ -} - void SerialPortWriter::handleBytesWritten(qint64 bytes) { m_bytesWritten += bytes; if (m_bytesWritten == m_writeData.size()) { m_bytesWritten = 0; - m_standardOutput << QObject::tr("Data successfully sent to port %1").arg(m_serialPort->portName()) << endl; + m_standardOutput << QObject::tr("Data successfully sent to port %1") + .arg(m_serialPort->portName()) << endl; QCoreApplication::quit(); } } void SerialPortWriter::handleTimeout() { - m_standardOutput << QObject::tr("Operation timed out for port %1, error: %2").arg(m_serialPort->portName()).arg(m_serialPort->errorString()) << endl; + m_standardOutput << QObject::tr("Operation timed out for port %1, error: %2") + .arg(m_serialPort->portName()) + .arg(m_serialPort->errorString()) + << endl; QCoreApplication::exit(1); } void SerialPortWriter::handleError(QSerialPort::SerialPortError serialPortError) { if (serialPortError == QSerialPort::WriteError) { - m_standardOutput << QObject::tr("An I/O error occurred while writing the data to port %1, error: %2").arg(m_serialPort->portName()).arg(m_serialPort->errorString()) << endl; + m_standardOutput << QObject::tr("An I/O error occurred while writing" + " the data to port %1, error: %2") + .arg(m_serialPort->portName()) + .arg(m_serialPort->errorString()) + << endl; QCoreApplication::exit(1); } } @@ -99,13 +101,19 @@ void SerialPortWriter::write(const QByteArray &writeData) { m_writeData = writeData; - qint64 bytesWritten = m_serialPort->write(writeData); + const qint64 bytesWritten = m_serialPort->write(writeData); if (bytesWritten == -1) { - m_standardOutput << QObject::tr("Failed to write the data to port %1, error: %2").arg(m_serialPort->portName()).arg(m_serialPort->errorString()) << endl; + m_standardOutput << QObject::tr("Failed to write the data to port %1, error: %2") + .arg(m_serialPort->portName()) + .arg(m_serialPort->errorString()) + << endl; QCoreApplication::exit(1); } else if (bytesWritten != m_writeData.size()) { - m_standardOutput << QObject::tr("Failed to write all the data to port %1, error: %2").arg(m_serialPort->portName()).arg(m_serialPort->errorString()) << endl; + m_standardOutput << QObject::tr("Failed to write all the data to port %1, error: %2") + .arg(m_serialPort->portName()) + .arg(m_serialPort->errorString()) + << endl; QCoreApplication::exit(1); } diff --git a/examples/serialport/cwriterasync/serialportwriter.h b/examples/serialport/cwriterasync/serialportwriter.h index 9fd305f..1e94c0f 100644 --- a/examples/serialport/cwriterasync/serialportwriter.h +++ b/examples/serialport/cwriterasync/serialportwriter.h @@ -51,14 +51,11 @@ #ifndef SERIALPORTWRITER_H #define SERIALPORTWRITER_H -#include - -#include -#include #include #include - -QT_USE_NAMESPACE +#include +#include +#include QT_BEGIN_NAMESPACE @@ -70,8 +67,6 @@ class SerialPortWriter : public QObject public: explicit SerialPortWriter(QSerialPort *serialPort, QObject *parent = nullptr); - ~SerialPortWriter(); - void write(const QByteArray &writeData); private slots: @@ -80,11 +75,11 @@ private slots: void handleError(QSerialPort::SerialPortError error); private: - QSerialPort *m_serialPort; - QByteArray m_writeData; - QTextStream m_standardOutput; - qint64 m_bytesWritten; - QTimer m_timer; + QSerialPort *m_serialPort = nullptr; + QByteArray m_writeData; + QTextStream m_standardOutput; + qint64 m_bytesWritten = 0; + QTimer m_timer; }; -#endif +#endif // SERIALPORTWRITER_H -- cgit v1.2.1