Quick Secure CoAP Client

 // Copyright (C) 2019 The Qt Company Ltd.
 // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause

 #include <QGuiApplication>
 #include <QNetworkInterface>
 #include <QQmlApplicationEngine>
 #include <QQmlContext>

 using namespace Qt::StringLiterals;

 static QStringList availableHosts()
 {
     QStringList hosts;

     const auto networkInterfaces = QNetworkInterface::allInterfaces();
     for (const auto &interface : networkInterfaces)
         for (const auto &address : interface.addressEntries())
             hosts.push_back(address.ip().toString());

     return hosts;
 }

 int main(int argc, char *argv[])
 {
     QGuiApplication app(argc, argv);
     QQmlApplicationEngine engine;
     engine.setInitialProperties({{u"hostsModel"_s, availableHosts()}});

     QObject::connect(&engine, &QQmlApplicationEngine::objectCreationFailed,
                      &app, []() { QCoreApplication::exit(1); },
                      Qt::QueuedConnection);
     engine.loadFromModule("CoapSecureClientModule", "Main");

     return app.exec();
 }