From b5d196d84117cd73ac531ea85997b4098c9b6b53 Mon Sep 17 00:00:00 2001 From: Samuli Piippo Date: Thu, 6 Jun 2013 11:37:21 +0300 Subject: Add IP and hostname information for qdroid utils Change-Id: I9c4bc15f34ee7a67e468b32e73d989c98d04b94a Reviewed-by: Eirik Aavitsland --- src/utils/qdroidutils.cpp | 56 +++++++++++++++++++++++++++++++++++++++++++++++ src/utils/qdroidutils.h | 3 +++ src/utils/utils.pro | 2 +- 3 files changed, 60 insertions(+), 1 deletion(-) diff --git a/src/utils/qdroidutils.cpp b/src/utils/qdroidutils.cpp index 16ed044..4247826 100644 --- a/src/utils/qdroidutils.cpp +++ b/src/utils/qdroidutils.cpp @@ -6,6 +6,9 @@ #include #else #include +#include +#include +#include #endif /*! @@ -75,3 +78,56 @@ bool QDroidUtils::setDisplayBrightness(quint8 value) #endif return true; } + + +/*! + * Gets the current IP address of the device + */ +QString QDroidUtils::getIPAddress() +{ + QString address; +#ifdef Q_OS_ANDROID_NO_SDK + qDebug("QDroidUtils::getIPAddress()"); +#else + QNetworkInterface interface = QNetworkInterface::interfaceFromName("eth0"); + QList entries; + entries = interface.addressEntries(); + if ( !entries.empty() ) { + address = entries.first().ip().toString(); + } +#endif + return address; +} + +/*! + * Gets the current hostname of the device + */ +QString QDroidUtils::getHostname() +{ + QString hostname; +#ifdef Q_OS_ANDROID_NO_SDK + qDebug("QDroidUtils::getHostname()"); +#else + hostname = QHostInfo::localHostName(); +#endif + return hostname; +} + +/*! + * Sets new hostname for the device + */ +bool QDroidUtils::setHostname(QString hostname) +{ +#ifdef Q_OS_ANDROID_NO_SDK + qDebug("QDroidUtils::setHostname()"); +#else + QFile file("/etc/hostname"); + if (!file.open(QIODevice::WriteOnly | QIODevice::Text)) { + qWarning("Could not open hostname file"); + return false; + } + file.write(hostname.toLocal8Bit()); + file.close(); +#endif + return true; +} diff --git a/src/utils/qdroidutils.h b/src/utils/qdroidutils.h index 5994ede..52efc4a 100644 --- a/src/utils/qdroidutils.h +++ b/src/utils/qdroidutils.h @@ -23,6 +23,9 @@ public Q_SLOTS: bool setDisplayBrightness(quint8 value); + QString getIPAddress(); + QString getHostname(); + bool setHostname(QString hostname); }; #endif // QDROIDUTILS_H diff --git a/src/utils/utils.pro b/src/utils/utils.pro index 1b98fbf..63ddf42 100644 --- a/src/utils/utils.pro +++ b/src/utils/utils.pro @@ -2,7 +2,7 @@ TARGET = QtDroidUtils VERSION = 5 CONFIG += dll warn_on -QT = core +QT = core network #QT = core-private gui-private qml-private quick-private #QT_PRIVATE = v8-private -- cgit v1.2.3