example 'meshtastic': add Swank server, trivial signal test (from mobile device)

This commit is contained in:
pls.153 2023-07-29 13:14:30 +02:00
parent 2737ebd19f
commit 64b893340e
17 changed files with 254 additions and 80 deletions

View file

@ -3,6 +3,8 @@
#include <ecl_fun.h>
#include <QSqlQuery>
#include <QSqlError>
#include <QNetworkInterface>
#include <QHostAddress>
#include <QtDebug>
#ifdef Q_OS_ANDROID
@ -137,4 +139,31 @@ QVariant QT::sqlQuery(const QVariant& vQuery, const QVariant& vValues) {
return QVariant();
}
// etc
QVariant QT::localIp() {
// Returns the local IP string. Private networks may use:
// 10.*.*.*
// 172.16.*.*
// 192.168.*.*
const auto addresses = QNetworkInterface::allAddresses();
QStringList ips;
for (QHostAddress adr : addresses) {
if (adr.protocol() == QAbstractSocket::IPv4Protocol) {
QString ip(adr.toString());
if (ip.startsWith("10.") ||
ip.startsWith("172.16.") ||
ip.startsWith("192.168.")) {
ips << ip;
}
}
}
if (!ips.isEmpty()) {
// hack for rare, ambiguous cases
ips.sort();
return ips.first();
}
return QVariant();
}
QT_END_NAMESPACE