From 84cb69dd5af6d2e44cce7bbef2536706d781f799 Mon Sep 17 00:00:00 2001 From: Gatis Paeglis Date: Thu, 12 Jun 2014 12:37:44 +0200 Subject: Don't hardcode interface name in getIPAddress() Change-Id: I29ac16d598ce56a7fa0a7b3b5bb89ca12d5f074a Reviewed-by: Eirik Aavitsland --- src/utils/qdroidutils.cpp | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/src/utils/qdroidutils.cpp b/src/utils/qdroidutils.cpp index d880de9..379fc20 100644 --- a/src/utils/qdroidutils.cpp +++ b/src/utils/qdroidutils.cpp @@ -225,14 +225,20 @@ bool QDroidUtils::setDisplayBrightness(quint8 value) */ QString QDroidUtils::getIPAddress() { - QStringList addresses; - QNetworkInterface interface = QNetworkInterface::interfaceFromName(QStringLiteral("eth0")); - QList entries; - entries = interface.addressEntries(); - foreach (const QNetworkAddressEntry &entry, entries) { - addresses.append(entry.ip().toString().split('%').first()); + QList availableInterfaces = QNetworkInterface::allInterfaces(); + if (availableInterfaces.length() > 0) { + foreach (const QNetworkInterface &interface, availableInterfaces) { + if (interface.flags() & QNetworkInterface::IsRunning + && (interface.flags() & QNetworkInterface::IsLoopBack) == 0) { + QList entries = interface.addressEntries(); + QStringList addresses; + foreach (const QNetworkAddressEntry &entry, entries) + addresses.append(entry.ip().toString().split('%').first()); + return addresses.join(QStringLiteral(", ")); + } + } } - return addresses.join(QStringLiteral(", ")); + return QString(); } /*! -- cgit v1.2.3