MacAddressDatabase: Update default loations for the mac-addresses.db to be more generic.
This commit is contained in:
parent
abd8dd2d97
commit
53b00a950f
@ -30,6 +30,7 @@
|
||||
#include <QFileInfo>
|
||||
#include <QTimer>
|
||||
#include <QSqlDatabase>
|
||||
#include <QDir>
|
||||
#include <QStandardPaths>
|
||||
#include <QtConcurrent/QtConcurrent>
|
||||
|
||||
@ -41,18 +42,30 @@ MacAddressDatabase::MacAddressDatabase(QObject *parent) : QObject(parent)
|
||||
{
|
||||
// Find database in system data locations
|
||||
QString databaseFileName;
|
||||
foreach (const QString &dataLocation, QStandardPaths::standardLocations(QStandardPaths::GenericDataLocation)) {
|
||||
QFileInfo databaseFileInfo(dataLocation + QDir::separator() + "mac-addresses.db");
|
||||
if (!databaseFileInfo.exists()) {
|
||||
continue;
|
||||
const QStringList dataLocations = QStandardPaths::standardLocations(QStandardPaths::GenericDataLocation);
|
||||
foreach (const QString &dataLocation, dataLocations) {
|
||||
const QStringList candidateFiles = {
|
||||
dataLocation + QDir::separator() + "nymea" + QDir::separator() + "nymead" + QDir::separator() + "mac-addresses.db",
|
||||
dataLocation + QDir::separator() + "nymea" + QDir::separator() + "mac-addresses.db",
|
||||
dataLocation + QDir::separator() + "mac-addresses.db"
|
||||
};
|
||||
|
||||
foreach (const QString &candidate, candidateFiles) {
|
||||
QFileInfo databaseFileInfo(candidate);
|
||||
if (!databaseFileInfo.exists())
|
||||
continue;
|
||||
|
||||
databaseFileName = databaseFileInfo.absoluteFilePath();
|
||||
break;
|
||||
}
|
||||
|
||||
databaseFileName = databaseFileInfo.absoluteFilePath();
|
||||
break;
|
||||
if (!databaseFileName.isEmpty())
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
if (databaseFileName.isEmpty()) {
|
||||
qCWarning(dcMacAddressDatabase()) << "Could not find the mac address database in any system data location paths" << QStandardPaths::standardLocations(QStandardPaths::GenericDataLocation);
|
||||
qCWarning(dcMacAddressDatabase()) << "Could not find the mac address database in any system data location paths" << dataLocations;
|
||||
qCWarning(dcMacAddressDatabase()) << "The mac address database lookup feature will not be available.";
|
||||
return;
|
||||
}
|
||||
|
||||
@ -50,7 +50,7 @@ private:
|
||||
QSqlDatabase m_db;
|
||||
bool m_available = false;
|
||||
QString m_connectionName;
|
||||
QString m_databaseName = "/usr/share/nymea/mac-addresses.db";
|
||||
QString m_databaseName = "/usr/share/nymea/nymead/mac-addresses.db";
|
||||
|
||||
MacAddressDatabaseReplyImpl *m_currentReply = nullptr;
|
||||
QFutureWatcher<QString> *m_futureWatcher = nullptr;
|
||||
|
||||
Reference in New Issue
Block a user