From c146290e0763cdff9e28b5a21bd01734bc2177c1 Mon Sep 17 00:00:00 2001 From: Jonas Kvinge Date: Sun, 22 Sep 2019 17:04:57 +0200 Subject: [PATCH] Add function to get mac address --- src/core/utilities.cpp | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/core/utilities.cpp b/src/core/utilities.cpp index d7ba50d4..cf6ffee4 100644 --- a/src/core/utilities.cpp +++ b/src/core/utilities.cpp @@ -59,6 +59,7 @@ #include #include #include +#include #include #ifdef Q_OS_LINUX @@ -815,6 +816,28 @@ QString UnicodeToAscii(const QString &unicode) { } +QString MacAddress() { + + QString ret; + + for (QNetworkInterface &interface : QNetworkInterface::allInterfaces()) { + if ( + (interface.hardwareAddress() == "00:00:00:00:00:00") || + (interface.flags() & QNetworkInterface::IsLoopBack) || + !(interface.flags() & QNetworkInterface::IsUp) || + !(interface.flags() & QNetworkInterface::IsRunning) + ) { continue; } + if (ret.isEmpty() || interface.type() == QNetworkInterface::Ethernet || interface.type() == QNetworkInterface::Wifi) { + ret = interface.hardwareAddress(); + } + } + + if (ret.isEmpty()) ret = "00:00:00:00:00:00"; + + return ret; + +} + } // namespace Utilities ScopedWCharArray::ScopedWCharArray(const QString &str)