diff options
-rw-r--r-- | src/utils/qdroidutils.cpp | 56 | ||||
-rw-r--r-- | src/utils/qdroidutils.h | 3 | ||||
-rw-r--r-- | src/utils/utils.pro | 2 |
3 files changed, 60 insertions, 1 deletions
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 <hardware/lights.h> #else #include <sys/reboot.h> +#include <QNetworkInterface> +#include <QHostInfo> +#include <QFile> #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<QNetworkAddressEntry> 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 |