diff options
author | Laszlo Papp <lpapp@kde.org> | 2013-02-16 19:11:47 +0000 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-02-17 19:05:35 +0100 |
commit | 96037016c20e3556988350ede7d01a92ab7060e9 (patch) | |
tree | c34db6a58f3af2becf62bb99486ca4997cf30b33 /src/serialport/qserialport_unix.cpp | |
parent | 899d2115829afa58d0d37caab97e12719680193c (diff) | |
download | qtserialport-96037016c20e3556988350ede7d01a92ab7060e9.tar.gz |
Switch to QMap implementation from QList<QPair<> > for maintainability
Task-number: QTPLAYGROUND-18
Change-Id: I769f1eea929d4c90081f14f3128978c2a15e191e
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
Diffstat (limited to 'src/serialport/qserialport_unix.cpp')
-rw-r--r-- | src/serialport/qserialport_unix.cpp | 217 |
1 files changed, 103 insertions, 114 deletions
diff --git a/src/serialport/qserialport_unix.cpp b/src/serialport/qserialport_unix.cpp index 134b08d..8513002 100644 --- a/src/serialport/qserialport_unix.cpp +++ b/src/serialport/qserialport_unix.cpp @@ -58,7 +58,7 @@ #include <QtCore/qelapsedtimer.h> #include <QtCore/qsocketnotifier.h> -#include <QtCore/qpair.h> +#include <QtCore/qmap.h> QT_BEGIN_NAMESPACE @@ -1179,167 +1179,156 @@ QString QSerialPortPrivate::portNameFromSystemLocation(const QString &location) return ret; } -typedef QPair<int, int> BaudRatePair; +typedef QMap<qint32, qint32> BaudRateMap; // The OS specific defines can be found in termios.h -static const QList<BaudRatePair> standardBaudRatePairList() +static const BaudRateMap createStandardBaudRateMap() { - static const QList<BaudRatePair> standardBaudRatesTable = QList<BaudRatePair>() + BaudRateMap baudRateMap; - #ifdef B50 - << qMakePair(50, B50) - #endif +#ifdef B50 + baudRateMap.insert(50, B50); +#endif - #ifdef B75 - << qMakePair(75, B75) - #endif +#ifdef B75 + baudRateMap.insert(75, B75); +#endif - #ifdef B110 - << qMakePair(110, B110) - #endif +#ifdef B110 + baudRateMap.insert(110, B110); +#endif - #ifdef B134 - << qMakePair(134, B134) - #endif +#ifdef B134 + baudRateMap.insert(134, B134); +#endif - #ifdef B150 - << qMakePair(150, B150) - #endif +#ifdef B150 + baudRateMap.insert(150, B150); +#endif - #ifdef B200 - << qMakePair(200, B200) - #endif +#ifdef B200 + baudRateMap.insert(200, B200); +#endif - #ifdef B300 - << qMakePair(300, B300) - #endif +#ifdef B300 + baudRateMap.insert(300, B300); +#endif - #ifdef B600 - << qMakePair(600, B600) - #endif +#ifdef B600 + baudRateMap.insert(600, B600); +#endif - #ifdef B1200 - << qMakePair(1200, B1200) - #endif +#ifdef B1200 + baudRateMap.insert(1200, B1200); +#endif - #ifdef B1800 - << qMakePair(1800, B1800) - #endif +#ifdef B1800 + baudRateMap.insert(1800, B1800); +#endif - #ifdef B2400 - << qMakePair(2400, B2400) - #endif +#ifdef B2400 + baudRateMap.insert(2400, B2400); +#endif - #ifdef B4800 - << qMakePair(4800, B4800) - #endif +#ifdef B4800 + baudRateMap.insert(4800, B4800); +#endif - #ifdef B9600 - << qMakePair(9600, B9600) - #endif +#ifdef B9600 + baudRateMap.insert(9600, B9600); +#endif - #ifdef B19200 - << qMakePair(19200, B19200) - #endif +#ifdef B19200 + baudRateMap.insert(19200, B19200); +#endif - #ifdef B38400 - << qMakePair(38400, B38400) - #endif +#ifdef B38400 + baudRateMap.insert(38400, B38400); +#endif - #ifdef B57600 - << qMakePair(57600, B57600) - #endif +#ifdef B57600 + baudRateMap.insert(57600, B57600); +#endif - #ifdef B115200 - << qMakePair(115200, B115200) - #endif +#ifdef B115200 + baudRateMap.insert(115200, B115200); +#endif - #ifdef B230400 - << qMakePair(230400, B230400) - #endif +#ifdef B230400 + baudRateMap.insert(230400, B230400); +#endif - #ifdef B460800 - << qMakePair(460800, B460800) - #endif +#ifdef B460800 + baudRateMap.insert(460800, B460800); +#endif - #ifdef B500000 - << qMakePair(500000, B500000) - #endif +#ifdef B500000 + baudRateMap.insert(500000, B500000); +#endif - #ifdef B576000 - << qMakePair(576000, B576000) - #endif +#ifdef B576000 + baudRateMap.insert(576000, B576000); +#endif - #ifdef B921600 - << qMakePair(921600, B921600) - #endif +#ifdef B921600 + baudRateMap.insert(921600, B921600); +#endif - #ifdef B1000000 - << qMakePair(1000000, B1000000) - #endif +#ifdef B1000000 + baudRateMap.insert(1000000, B1000000); +#endif - #ifdef B1152000 - << qMakePair(1152000, B1152000) - #endif +#ifdef B1152000 + baudRateMap.insert(1152000, B1152000); +#endif - #ifdef B1500000 - << qMakePair(1500000, B1500000) - #endif +#ifdef B1500000 + baudRateMap.insert(1500000, B1500000); +#endif - #ifdef B2000000 - << qMakePair(2000000, B2000000) - #endif +#ifdef B2000000 + baudRateMap.insert(2000000, B2000000); +#endif - #ifdef B2500000 - << qMakePair(2500000, B2500000) - #endif +#ifdef B2500000 + baudRateMap.insert(2500000, B2500000); +#endif - #ifdef B3000000 - << qMakePair(3000000, B3000000) - #endif +#ifdef B3000000 + baudRateMap.insert(3000000, B3000000); +#endif - #ifdef B3500000 - << qMakePair(3500000, B3500000) - #endif +#ifdef B3500000 + baudRateMap.insert(3500000, B3500000); +#endif - #ifdef B4000000 - << qMakePair(4000000, B4000000) - #endif +#ifdef B4000000 + baudRateMap.insert(4000000, B4000000); +#endif - ; + return baudRateMap; +} - return standardBaudRatesTable; +static const BaudRateMap& standardBaudRateMap() +{ + static const BaudRateMap baudRateMap = createStandardBaudRateMap(); + return baudRateMap; } qint32 QSerialPortPrivate::baudRateFromSetting(qint32 setting) { - const BaudRatePair rp(0, setting); - const QList<BaudRatePair> baudRatePairs = standardBaudRatePairList(); - const QList<BaudRatePair>::const_iterator baudRatePairListConstIterator = qFind(baudRatePairs, rp); - - return (baudRatePairListConstIterator != baudRatePairs.constEnd()) ? baudRatePairListConstIterator->first : 0; + return standardBaudRateMap().key(setting); } qint32 QSerialPortPrivate::settingFromBaudRate(qint32 baudRate) { - const BaudRatePair rp(baudRate, 0); - const QList<BaudRatePair> baudRatePairs = standardBaudRatePairList(); - const QList<BaudRatePair>::const_iterator baudRatePairListConstIterator = qBinaryFind(baudRatePairs, rp); - - return (baudRatePairListConstIterator != baudRatePairs.constEnd()) ? baudRatePairListConstIterator->second : 0; + return standardBaudRateMap().value(baudRate); } QList<qint32> QSerialPortPrivate::standardBaudRates() { - QList<qint32> ret; - const QList<BaudRatePair> baudRatePairs = standardBaudRatePairList(); - - foreach (const BaudRatePair &baudRatePair, baudRatePairs) { - ret.append(baudRatePair.first); - } - - return ret; + return standardBaudRateMap().keys(); } QT_END_NAMESPACE |