summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSamuli Piippo <samuli.piippo@digia.com>2013-06-06 11:37:21 +0300
committerSamuli Piippo <samuli.piippo@digia.com>2013-06-06 12:41:49 +0300
commitb5d196d84117cd73ac531ea85997b4098c9b6b53 (patch)
treead1f38a9542fda206ae5a8c0e526b484aa1d623d /src
parent1c1133cadb103e1cff5f8f456dea2006e894eea8 (diff)
Add IP and hostname information for qdroid utils
Change-Id: I9c4bc15f34ee7a67e468b32e73d989c98d04b94a Reviewed-by: Eirik Aavitsland <eirik.aavitsland@digia.com>
Diffstat (limited to 'src')
-rw-r--r--src/utils/qdroidutils.cpp56
-rw-r--r--src/utils/qdroidutils.h3
-rw-r--r--src/utils/utils.pro2
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