diff options
author | Liang Qi <liang.qi@theqtcompany.com> | 2016-01-26 14:25:06 +0100 |
---|---|---|
committer | Liang Qi <liang.qi@theqtcompany.com> | 2016-01-26 14:25:06 +0100 |
commit | c6a28570a7300788127117378eb7cd36dcd0953f (patch) | |
tree | b8e56b1bd18fb4438de171004d588d12dbf7abec /src/plugins/position/serialnmea/qgeopositioninfosourcefactory_serialnmea.cpp | |
parent | e9ead74ec4169d483de0b711986b5b560bbb730a (diff) | |
parent | 24e50e40caaa2f2e057180b8ed8179795e605e2a (diff) | |
download | qtlocation-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.cpp | 16 |
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; } } |