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 <QFileInfo>
|
||||||
#include <QTimer>
|
#include <QTimer>
|
||||||
#include <QSqlDatabase>
|
#include <QSqlDatabase>
|
||||||
|
#include <QDir>
|
||||||
#include <QStandardPaths>
|
#include <QStandardPaths>
|
||||||
#include <QtConcurrent/QtConcurrent>
|
#include <QtConcurrent/QtConcurrent>
|
||||||
|
|
||||||
@ -41,18 +42,30 @@ MacAddressDatabase::MacAddressDatabase(QObject *parent) : QObject(parent)
|
|||||||
{
|
{
|
||||||
// Find database in system data locations
|
// Find database in system data locations
|
||||||
QString databaseFileName;
|
QString databaseFileName;
|
||||||
foreach (const QString &dataLocation, QStandardPaths::standardLocations(QStandardPaths::GenericDataLocation)) {
|
const QStringList dataLocations = QStandardPaths::standardLocations(QStandardPaths::GenericDataLocation);
|
||||||
QFileInfo databaseFileInfo(dataLocation + QDir::separator() + "mac-addresses.db");
|
foreach (const QString &dataLocation, dataLocations) {
|
||||||
if (!databaseFileInfo.exists()) {
|
const QStringList candidateFiles = {
|
||||||
continue;
|
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();
|
if (!databaseFileName.isEmpty())
|
||||||
break;
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (databaseFileName.isEmpty()) {
|
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.";
|
qCWarning(dcMacAddressDatabase()) << "The mac address database lookup feature will not be available.";
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -50,7 +50,7 @@ private:
|
|||||||
QSqlDatabase m_db;
|
QSqlDatabase m_db;
|
||||||
bool m_available = false;
|
bool m_available = false;
|
||||||
QString m_connectionName;
|
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;
|
MacAddressDatabaseReplyImpl *m_currentReply = nullptr;
|
||||||
QFutureWatcher<QString> *m_futureWatcher = nullptr;
|
QFutureWatcher<QString> *m_futureWatcher = nullptr;
|
||||||
|
|||||||
Reference in New Issue
Block a user