summaryrefslogtreecommitdiff
path: root/src/plugins/position/serialnmea/qgeopositioninfosourcefactory_serialnmea.cpp
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@theqtcompany.com>2016-01-26 14:25:06 +0100
committerLiang Qi <liang.qi@theqtcompany.com>2016-01-26 14:25:06 +0100
commitc6a28570a7300788127117378eb7cd36dcd0953f (patch)
treeb8e56b1bd18fb4438de171004d588d12dbf7abec /src/plugins/position/serialnmea/qgeopositioninfosourcefactory_serialnmea.cpp
parente9ead74ec4169d483de0b711986b5b560bbb730a (diff)
parent24e50e40caaa2f2e057180b8ed8179795e605e2a (diff)
downloadqtlocation-c6a28570a7300788127117378eb7cd36dcd0953f.tar.gz
Merge remote-tracking branch 'origin/5.6' into dev
Change-Id: I23c874c5dcd0452142c3cf8abff65415ad31a1e7
Diffstat (limited to 'src/plugins/position/serialnmea/qgeopositioninfosourcefactory_serialnmea.cpp')
-rw-r--r--src/plugins/position/serialnmea/qgeopositioninfosourcefactory_serialnmea.cpp16
1 files changed, 7 insertions, 9 deletions
diff --git a/src/plugins/position/serialnmea/qgeopositioninfosourcefactory_serialnmea.cpp b/src/plugins/position/serialnmea/qgeopositioninfosourcefactory_serialnmea.cpp
index c9b209e8..1d1a6f4f 100644
--- a/src/plugins/position/serialnmea/qgeopositioninfosourcefactory_serialnmea.cpp
+++ b/src/plugins/position/serialnmea/qgeopositioninfosourcefactory_serialnmea.cpp
@@ -42,6 +42,7 @@
#include <QtSerialPort/qserialport.h>
#include <QtSerialPort/qserialportinfo.h>
#include <QtCore/qloggingcategory.h>
+#include <QSet>
Q_LOGGING_CATEGORY(lcSerial, "qt.positioning.serialnmea")
@@ -70,16 +71,13 @@ NmeaSource::NmeaSource(QObject *parent)
}
// Try to find a well-known device.
+ QSet<int> supportedDevices;
+ supportedDevices << 0x67b; // GlobalSat (BU-353S4 and probably others)
+ supportedDevices << 0xe8d; // Qstarz MTK II
QString portName;
- for (int i = 0; i < ports.count(); ++i) {
- const QString candidatePortName = ports[i].portName();
- bool acceptThis = false;
-
- // GlobalSat (BU-353S4 and probably others)
- acceptThis |= ports[i].hasVendorIdentifier() && ports[i].vendorIdentifier() == 0x67b;
-
- if (acceptThis) {
- portName = candidatePortName;
+ foreach (const QSerialPortInfo& port, ports) {
+ if (port.hasVendorIdentifier() && supportedDevices.contains(port.vendorIdentifier())) {
+ portName = port.portName();
break;
}
}