summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorLaszlo Papp <lpapp@kde.org>2013-02-16 19:11:47 +0000
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-02-17 19:05:35 +0100
commit96037016c20e3556988350ede7d01a92ab7060e9 (patch)
treec34db6a58f3af2becf62bb99486ca4997cf30b33 /src
parent899d2115829afa58d0d37caab97e12719680193c (diff)
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')
-rw-r--r--src/serialport/qserialport_symbian.cpp95
-rw-r--r--src/serialport/qserialport_unix.cpp217
2 files changed, 146 insertions, 166 deletions
diff --git a/src/serialport/qserialport_symbian.cpp b/src/serialport/qserialport_symbian.cpp
index dc7d239a..31b9a12e 100644
--- a/src/serialport/qserialport_symbian.cpp
+++ b/src/serialport/qserialport_symbian.cpp
@@ -41,7 +41,7 @@
#include "qserialport_symbian_p.h"
-#include <QtCore/qpair.h>
+#include <QtCore/qmap.h>
#include <e32base.h>
//#include <e32test.h>
@@ -580,75 +580,66 @@ QString QSerialPortPrivate::portNameFromSystemLocation(const QString &location)
return location;
}
-typedef QPair<int, int> BaudRatePair;
+typedef QMap<qint32, qint32> BaudRateMap;
// This table contains correspondences standard pairs values of
// baud rates that are defined in files
// - d32comm.h for Symbian^3
// - d32public.h for Symbian SR1
-static const QList<BaudRatePair> standardBaudRatePairList()
-{
- static const QList<BaudRatePair> standardBaudRatesTable = QList<BaudRatePair>()
-
- << qMakePair(50, EBps50)
- << qMakePair(75, EBps75)
- << qMakePair(110, EBps110)
- << qMakePair(134, EBps134)
- << qMakePair(150, EBps150)
- << qMakePair(300, EBps300)
- << qMakePair(600, EBps600)
- << qMakePair(1200, EBps1200)
- << qMakePair(1800, EBps1800)
- << qMakePair(2000, EBps2000)
- << qMakePair(2400, EBps2400)
- << qMakePair(3600, EBps3600)
- << qMakePair(4800, EBps4800)
- << qMakePair(7200, EBps7200)
- << qMakePair(9600, EBps9600)
- << qMakePair(19200, EBps19200)
- << qMakePair(38400, EBps38400)
- << qMakePair(57600, EBps57600)
- << qMakePair(115200, EBps115200)
- << qMakePair(230400, EBps230400)
- << qMakePair(460800, EBps460800)
- << qMakePair(576000, EBps576000)
- << qMakePair(921600, EBps921600)
- << qMakePair(1152000, EBps1152000)
- // << qMakePair(1843200, EBps1843200) only for Symbian SR1
- << qMakePair(4000000, EBps4000000);
-
- return standardBaudRatesTable;
+static const BaudRateMap createStandardBaudRateMap()
+{
+ BaudRateMap baudRateMap;
+
+ baudRateMap.insert(50, EBps50)
+ baudRateMap.insert(75, EBps75)
+ baudRateMap.insert(110, EBps110)
+ baudRateMap.insert(134, EBps134)
+ baudRateMap.insert(150, EBps150)
+ baudRateMap.insert(300, EBps300)
+ baudRateMap.insert(600, EBps600)
+ baudRateMap.insert(1200, EBps1200)
+ baudRateMap.insert(1800, EBps1800)
+ baudRateMap.insert(2000, EBps2000)
+ baudRateMap.insert(2400, EBps2400)
+ baudRateMap.insert(3600, EBps3600)
+ baudRateMap.insert(4800, EBps4800)
+ baudRateMap.insert(7200, EBps7200)
+ baudRateMap.insert(9600, EBps9600)
+ baudRateMap.insert(19200, EBps19200)
+ baudRateMap.insert(38400, EBps38400)
+ baudRateMap.insert(57600, EBps57600)
+ baudRateMap.insert(115200, EBps115200)
+ baudRateMap.insert(230400, EBps230400)
+ baudRateMap.insert(460800, EBps460800)
+ baudRateMap.insert(576000, EBps576000)
+ baudRateMap.insert(921600, EBps921600)
+ baudRateMap.insert(1152000, EBps1152000)
+ // << baudRateMap.insert(1843200, EBps1843200) only for Symbian SR1
+ baudRateMap.insert(4000000, EBps4000000);
+
+ return baudRateMap;
+}
+
+static const BaudRateMap& standardBaudRateMap()
+{
+ static const BaudRateMap baudRateMap = createStandardBaudRateMap();
+ return baudRateMap;
}
qint32 QSerialPortPrivate::baudRateFromSetting(qint32 setting)
{
- const BaudRatePair rp = { 0, setting };
- QList<BaudRatePair> baudRatePairList = standardBaudRatePairList();
- const QList<BaudRatePair>::const_iterator baudRatePairListConstIterator = qFind(baudRatePairList, rp);
-
- return (baudRatePairListConstIterator != baudRatePairList.constEnd()) ? baudRatePairListConstIterator->first : 0;
+ return standardBaudRateMap().key(setting);
}
qint32 QSerialPortPrivate::settingFromBaudRate(qint32 baudRate)
{
- const BaudRatePair rp = { baudRate, 0 };
- QList<BaudRatePair> baudRatePairList = standardBaudRatePairList();
- const QList<BaudRatePair>::const_iterator baudRatePairListConstIterator = qBinaryFind(standardBaudRatesTable, standardBaudRatesTable_end, rp);
-
- return (baudRatePairListConstIterator != baudRatePairList.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
diff --git a/src/serialport/qserialport_unix.cpp b/src/serialport/qserialport_unix.cpp
index 134b08d6..85130020 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