#include "plugin.h" #include "plugin_instance.h" #include #include #include namespace UAS { std::shared_ptr TabPluginUAS::createInterface(TrainingAreaBase::Plugin::DataProvider *dataProvider, const std::shared_ptr &recvFromTabCb, const std::shared_ptr &, const std::shared_ptr &ddsHandler, NGL::Settings *settings) { qDebug() << "UAS Plugin starting for ex "<exerciseId()<<"!\n"; const QString ip(settings->settings()->value(QStringLiteral("UAS/TmsIfIpAddress"), QStringLiteral("127.0.0.1")).toString()); qDebug() << "TabPluginUAS::createInterface: TMS-IF will be started on the network interface with ip address: '" << ip << "' \n"; qputenv("CYCLONEDDS_URI", QStringLiteral("").arg(ip).toUtf8()); if ( !hostAvailable(ip)) return nullptr; return std::make_shared(dataProvider, recvFromTabCb, ddsHandler, settings); } bool TabPluginUAS::hostAvailable(QString hostname) { QHostInfo info = QHostInfo::fromName(hostname); if (info.error() == QHostInfo::NoError) { qCritical() << "Success! Host found. IP addresses:" << hostname; return true; } return false; } }