summaryrefslogtreecommitdiffstats
path: root/src/utils/qdroidutils.cpp
diff options
context:
space:
mode:
authorGatis Paeglis <gatis.paeglis@digia.com>2014-06-12 12:37:44 +0200
committerGatis Paeglis <gatis.paeglis@digia.com>2014-06-13 09:39:28 +0300
commit84cb69dd5af6d2e44cce7bbef2536706d781f799 (patch)
treee5bccd42551a4f836dfbdeaa5754017bf1a6d26c /src/utils/qdroidutils.cpp
parenta63568ab216fb0fa8e13eaa26358f9fe5af108ae (diff)
Don't hardcode interface name in getIPAddress()
Change-Id: I29ac16d598ce56a7fa0a7b3b5bb89ca12d5f074a Reviewed-by: Eirik Aavitsland <eirik.aavitsland@digia.com>
Diffstat (limited to 'src/utils/qdroidutils.cpp')
-rw-r--r--src/utils/qdroidutils.cpp20
1 files 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<QNetworkAddressEntry> entries;
- entries = interface.addressEntries();
- foreach (const QNetworkAddressEntry &entry, entries) {
- addresses.append(entry.ip().toString().split('%').first());
+ QList<QNetworkInterface> availableInterfaces = QNetworkInterface::allInterfaces();
+ if (availableInterfaces.length() > 0) {
+ foreach (const QNetworkInterface &interface, availableInterfaces) {
+ if (interface.flags() & QNetworkInterface::IsRunning
+ && (interface.flags() & QNetworkInterface::IsLoopBack) == 0) {
+ QList<QNetworkAddressEntry> 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();
}
/*!