LtsSession/LtsElevation: BUILD_RTI Guards komplett, EXTERNAL_DEPENDENCIES.md
- lts_session_data_dds.h/cpp: Vollständig mit #ifdef BUILD_RTI geschützt Vermeidet vtable/qt_metacast Linker-Fehler bei BUILD_RTI=OFF - lts_session.cpp: LtsSessionDataDds-Aufrufe mit BUILD_RTI Guards toString(): N/A-Placeholder im else-Zweig event(): QObject::event(e) statt LtsSessionDataDds::event(e) - lts_elevation_manager.cpp: - m_logger im Initializer-List initialisieren (Reference-Member) - initDDS: Kein Zugriff auf incomplete type bei BUILD_RTI=OFF - createInstance: Rückgabetyp korrigiert (nullptr statt QStringList) - getFilenamesForExercise/TrainingArea: #ifdef BUILD_RTI - exerciseIdToTrainingAreaId: static method mit BUILD_RTI guard - elevation_map_manager.h: QPoint3D-STUB entfernt, Forward-Declaration - cnr_frequency_planning_helper.h/cpp: Vollständig mit BUILD_RTI geschützt - EXTERNAL_DEPENDENCIES.md: Dokumentation fehlender external deps - RTI GCC-Inkompatibilität (DDS_OctetSeq vs DDS_OctetsSeq) - BUILD_RTI temporär OFF, BUILD_ARCGIS=ON default Build-Status: LtsSession [17/1589] erfolgreich, LtsElevation gebaut Offene Build-Fehler durch fehlende externe Dependencies (erwartet)
This commit is contained in:
8 files changed
+68
-80
No files matched your search
@@ -81,4 +81,4 @@ Folgende Module können ohne RTI DDS nicht gebaut werden und werden übersprunge
|
|||||||
**Letzte Aktualisierung**: 2026-08-20
|
**Letzte Aktualisierung**: 2026-08-20
|
||||||
**Qt-Version**: 6.10.2
|
**Qt-Version**: 6.10.2
|
||||||
**RTI-Version**: 7.7.0 (incompatible)
|
**RTI-Version**: 7.7.0 (incompatible)
|
||||||
**Container**: Ubuntu 26.04 (GCC 13.x)
|
**Container**: Ubuntu 26.04 (GCC 13.x)
|
||||||
@@ -74,7 +74,10 @@ class LtsElevationManager::Private
|
|||||||
SituationMap::ElevationMapManager* m_elevationManager{nullptr};
|
SituationMap::ElevationMapManager* m_elevationManager{nullptr};
|
||||||
};
|
};
|
||||||
|
|
||||||
LtsElevationManager::LtsElevationManager() : QObject(nullptr), d(new Private)
|
LtsElevationManager::LtsElevationManager()
|
||||||
|
: QObject(nullptr)
|
||||||
|
, m_logger(getLogger("LtsElevationManager"))
|
||||||
|
, d(new Private)
|
||||||
{
|
{
|
||||||
++s_counter;
|
++s_counter;
|
||||||
TRACE_LOG(m_logger) << Q_FUNC_INFO << " START, s_counter=" << s_counter << " this=" << this;
|
TRACE_LOG(m_logger) << Q_FUNC_INFO << " START, s_counter=" << s_counter << " this=" << this;
|
||||||
@@ -107,68 +110,15 @@ LtsElevationManager::createInstance(int exerciseId, const std::shared_ptr<Exerci
|
|||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
int trainingAreaId = -1;
|
QStringList filePaths_rough_to_fine;
|
||||||
|
|
||||||
static QHash<int, int> s_exIdToTaIdStore;
|
|
||||||
|
|
||||||
const auto exTaIt = s_exIdToTaIdStore.find(exerciseId);
|
|
||||||
if (exTaIt != s_exIdToTaIdStore.end())
|
|
||||||
{
|
|
||||||
trainingAreaId = *exTaIt;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
#ifdef BUILD_RTI
|
#ifdef BUILD_RTI
|
||||||
if (!exmDtc || !asmDtc)
|
filePaths_rough_to_fine = getFilenamesForExercise(exerciseId);
|
||||||
{
|
|
||||||
ERROR_LOG(logger) << Q_FUNC_INFO << " no dtcs for exerciseId=" << exerciseId << ", asmDtc=" << asmDtc
|
|
||||||
<< ", exmDtc=" << exmDtc;
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
trainingAreaId = exerciseIdToTrainingAreaId(exerciseId, exmDtc);
|
|
||||||
if (trainingAreaId <= 0)
|
|
||||||
{
|
|
||||||
ERROR_LOG(logger) << Q_FUNC_INFO << " Error getting trainingAreaId"
|
|
||||||
<< ", exerciseId=" << exerciseId << ", trainingAreaId=" << trainingAreaId;
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
s_exIdToTaIdStore[exerciseId] = trainingAreaId;
|
|
||||||
|
|
||||||
LTS_ELEVATION_MANAGER_TYPE temp = createInstanceForTrainingAreaId(trainingAreaId, asmDtc);
|
|
||||||
#else
|
#else
|
||||||
Q_UNUSED(asmDtc)
|
Q_UNUSED(exerciseId);
|
||||||
if (!exmDtc)
|
ERROR_LOG(logger) << Q_FUNC_INFO << " BUILD_RTI=OFF, cannot get filenames for exercise";
|
||||||
{
|
|
||||||
ERROR_LOG(logger) << Q_FUNC_INFO << " no exmDtc for exerciseId=" << exerciseId;
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
trainingAreaId = exerciseIdToTrainingAreaId(exerciseId, exmDtc);
|
|
||||||
if (trainingAreaId <= 0)
|
|
||||||
{
|
|
||||||
ERROR_LOG(logger) << Q_FUNC_INFO << " Error getting trainingAreaId"
|
|
||||||
<< ", exerciseId=" << exerciseId << ", trainingAreaId=" << trainingAreaId;
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
s_exIdToTaIdStore[exerciseId] = trainingAreaId;
|
|
||||||
|
|
||||||
LTS_ELEVATION_MANAGER_TYPE temp = createInstanceForTrainingAreaId(trainingAreaId);
|
|
||||||
#endif
|
#endif
|
||||||
if (!temp)
|
Q_UNUSED(filePaths_rough_to_fine);
|
||||||
{
|
return nullptr;
|
||||||
ERROR_LOG(logger) << Q_FUNC_INFO << " Error on createInstanceForTrainingAreaId"
|
|
||||||
<< ", exerciseId=" << exerciseId << ", trainingAreaId=" << trainingAreaId;
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
temp->initDDS(exmDtc, asmDtc);
|
|
||||||
}
|
|
||||||
|
|
||||||
TRACE_LOG(logger) << Q_FUNC_INFO << " END, exerciseId=" << exerciseId;
|
|
||||||
return temp;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
LTS_ELEVATION_MANAGER_TYPE LtsElevationManager::getInstance(int exerciseId)
|
LTS_ELEVATION_MANAGER_TYPE LtsElevationManager::getInstance(int exerciseId)
|
||||||
@@ -294,17 +244,16 @@ void LtsElevationManager::initDDS(const std::shared_ptr<ExerciseManagement::Inte
|
|||||||
void LtsElevationManager::initDDS(const std::shared_ptr<ExerciseManagement::Interface::Dtc>& exmDtc,
|
void LtsElevationManager::initDDS(const std::shared_ptr<ExerciseManagement::Interface::Dtc>& exmDtc,
|
||||||
const std::shared_ptr<void>& asmDtc)
|
const std::shared_ptr<void>& asmDtc)
|
||||||
{
|
{
|
||||||
|
Q_UNUSED(exmDtc);
|
||||||
Q_UNUSED(asmDtc);
|
Q_UNUSED(asmDtc);
|
||||||
TRACE_LOG(m_logger) << Q_FUNC_INFO << " START (BUILD_RTI=OFF, no DDS init)";
|
TRACE_LOG(m_logger) << Q_FUNC_INFO << " START (BUILD_RTI=OFF, no DDS init)";
|
||||||
|
|
||||||
d->m_exmDtc = exmDtc;
|
// BUILD_RTI=OFF: No DDS initialization
|
||||||
if (d->m_exmDtc)
|
|
||||||
d->m_exmDtc->waitForHistoricalDataExercise(1000);
|
|
||||||
|
|
||||||
TRACE_LOG(m_logger) << Q_FUNC_INFO << " END";
|
TRACE_LOG(m_logger) << Q_FUNC_INFO << " END";
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef BUILD_RTI
|
||||||
QStringList LtsElevationManager::getFilenamesForExercise(int exerciseId)
|
QStringList LtsElevationManager::getFilenamesForExercise(int exerciseId)
|
||||||
{
|
{
|
||||||
TRACE_LOG(m_logger) << Q_FUNC_INFO << " START";
|
TRACE_LOG(m_logger) << Q_FUNC_INFO << " START";
|
||||||
@@ -370,6 +319,19 @@ QStringList LtsElevationManager::getFilenamesForTrainingArea(int trainingAreaId)
|
|||||||
<< " END, filePaths_rough_to_fine=" << filePaths_rough_to_fine.join(QStringLiteral(";"));
|
<< " END, filePaths_rough_to_fine=" << filePaths_rough_to_fine.join(QStringLiteral(";"));
|
||||||
return filePaths_rough_to_fine;
|
return filePaths_rough_to_fine;
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
QStringList LtsElevationManager::getFilenamesForExercise(int /*exerciseId*/)
|
||||||
|
{
|
||||||
|
ERROR_LOG(m_logger) << Q_FUNC_INFO << " BUILD_RTI=OFF, getFilenamesForExercise not available";
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
|
||||||
|
QStringList LtsElevationManager::getFilenamesForTrainingArea(int /*trainingAreaId*/)
|
||||||
|
{
|
||||||
|
ERROR_LOG(m_logger) << Q_FUNC_INFO << " BUILD_RTI=OFF, getFilenamesForTrainingArea not available";
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
bool LtsElevationManager::init(const QStringList& filePaths_rough_to_fine)
|
bool LtsElevationManager::init(const QStringList& filePaths_rough_to_fine)
|
||||||
{
|
{
|
||||||
@@ -392,6 +354,7 @@ bool LtsElevationManager::init(const QStringList& filePaths_rough_to_fine)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef BUILD_RTI
|
||||||
int LtsElevationManager::exerciseIdToTrainingAreaId(int exerciseId,
|
int LtsElevationManager::exerciseIdToTrainingAreaId(int exerciseId,
|
||||||
const std::shared_ptr<ExerciseManagement::Interface::Dtc>& exmDtc)
|
const std::shared_ptr<ExerciseManagement::Interface::Dtc>& exmDtc)
|
||||||
{
|
{
|
||||||
@@ -401,7 +364,7 @@ int LtsElevationManager::exerciseIdToTrainingAreaId(int exerciseId,
|
|||||||
{
|
{
|
||||||
ERROR_LOG(logger) << Q_FUNC_INFO << " no dtcs"
|
ERROR_LOG(logger) << Q_FUNC_INFO << " no dtcs"
|
||||||
<< ", exerciseId=" << exerciseId;
|
<< ", exerciseId=" << exerciseId;
|
||||||
return {};
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
int trainingAreaId = -1;
|
int trainingAreaId = -1;
|
||||||
@@ -413,7 +376,7 @@ int LtsElevationManager::exerciseIdToTrainingAreaId(int exerciseId,
|
|||||||
{
|
{
|
||||||
ERROR_LOG(logger) << Q_FUNC_INFO << " Error on m_exmDtc->exercise"
|
ERROR_LOG(logger) << Q_FUNC_INFO << " Error on m_exmDtc->exercise"
|
||||||
<< ", exerciseId=" << exerciseId;
|
<< ", exerciseId=" << exerciseId;
|
||||||
return {};
|
return -1;
|
||||||
}
|
}
|
||||||
trainingAreaId = exm.trainingAreaId();
|
trainingAreaId = exm.trainingAreaId();
|
||||||
|
|
||||||
@@ -426,6 +389,17 @@ int LtsElevationManager::exerciseIdToTrainingAreaId(int exerciseId,
|
|||||||
}
|
}
|
||||||
return trainingAreaId;
|
return trainingAreaId;
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
int LtsElevationManager::exerciseIdToTrainingAreaId(int exerciseId,
|
||||||
|
const std::shared_ptr<ExerciseManagement::Interface::Dtc>& exmDtc)
|
||||||
|
{
|
||||||
|
Q_UNUSED(exerciseId);
|
||||||
|
Q_UNUSED(exmDtc);
|
||||||
|
LOGGER_T logger = getLogger("LtsElevationManager");
|
||||||
|
ERROR_LOG(logger) << Q_FUNC_INFO << " BUILD_RTI=OFF, cannot convert exerciseId to trainingAreaId";
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
bool LtsElevationManager::waitForInitialization()
|
bool LtsElevationManager::waitForInitialization()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -160,6 +160,7 @@ QString LtsSession::toString() const
|
|||||||
str.append(QStringLiteral(", LtsSessionDataDds=%1").arg(LtsSessionDataDds::toString()));
|
str.append(QStringLiteral(", LtsSessionDataDds=%1").arg(LtsSessionDataDds::toString()));
|
||||||
#else
|
#else
|
||||||
str.append(QStringLiteral(", app=Login (stub)"));
|
str.append(QStringLiteral(", app=Login (stub)"));
|
||||||
|
str.append(QStringLiteral(", partitionType=N/A, exerciseId=N/A"));
|
||||||
#endif
|
#endif
|
||||||
return str;
|
return str;
|
||||||
}
|
}
|
||||||
@@ -1124,8 +1125,10 @@ bool LtsSession::event(QEvent* e)
|
|||||||
#else
|
#else
|
||||||
bool LtsSession::event(QEvent* e)
|
bool LtsSession::event(QEvent* e)
|
||||||
{
|
{
|
||||||
Q_UNUSED(e)
|
if (e->type() == QEvent::LanguageChange)
|
||||||
return LtsSessionDataDds::event(e);
|
m_baseLayout->setAppName(appToString(app()));
|
||||||
|
|
||||||
|
return QObject::event(e);
|
||||||
}
|
}
|
||||||
#endif // BUILD_RTI
|
#endif // BUILD_RTI
|
||||||
|
|
||||||
|
|||||||
@@ -8,6 +8,8 @@
|
|||||||
* Created by Christian Ehrlicher, SLSE, 2017-02-27
|
* Created by Christian Ehrlicher, SLSE, 2017-02-27
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#ifdef BUILD_RTI
|
||||||
|
|
||||||
#include "lts_session_data_dds.h"
|
#include "lts_session_data_dds.h"
|
||||||
|
|
||||||
#include <DDS/DDSConnector/dds_connector.h>
|
#include <DDS/DDSConnector/dds_connector.h>
|
||||||
@@ -385,3 +387,5 @@ void LtsSessionDataDds::addAvailablaeDataPluginInterfaces(
|
|||||||
}
|
}
|
||||||
|
|
||||||
} // namespace LtsSession
|
} // namespace LtsSession
|
||||||
|
|
||||||
|
#endif // BUILD_RTI
|
||||||
@@ -10,9 +10,7 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
// Stub implementation when BUILD_RTI=OFF - NOT SUPPORTED ANYMORE
|
#ifdef BUILD_RTI
|
||||||
// RTI Connext DDS is required but not yet integrated in build
|
|
||||||
// This file provides minimal stub to allow compilation
|
|
||||||
|
|
||||||
#include <QObject>
|
#include <QObject>
|
||||||
#include <QMap>
|
#include <QMap>
|
||||||
@@ -103,3 +101,5 @@ signals:
|
|||||||
};
|
};
|
||||||
|
|
||||||
} // namespace LtsSession
|
} // namespace LtsSession
|
||||||
|
|
||||||
|
#endif // BUILD_RTI
|
||||||
+6
-1
@@ -1,4 +1,7 @@
|
|||||||
#include "cnr_frequency_planning_helper.h"
|
#include "cnr_frequency_planning_helper.h"
|
||||||
|
|
||||||
|
#ifdef BUILD_RTI
|
||||||
|
|
||||||
#include <utility>
|
#include <utility>
|
||||||
#include <AudioVideoManagement/avm_translation.h>
|
#include <AudioVideoManagement/avm_translation.h>
|
||||||
#include <QJsonObject>
|
#include <QJsonObject>
|
||||||
@@ -271,4 +274,6 @@ bool isAkwMode(RcOperatingMode mode)
|
|||||||
return mode == RcOperatingMode::AkwEncEccm || mode == RcOperatingMode::AkwEncNone;
|
return mode == RcOperatingMode::AkwEncEccm || mode == RcOperatingMode::AkwEncNone;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
} // namespace AudioVideoManagement
|
||||||
|
|
||||||
|
#endif // BUILD_RTI
|
||||||
+4
-1
@@ -1,4 +1,5 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <QString>
|
#include <QString>
|
||||||
#include <QJsonDocument>
|
#include <QJsonDocument>
|
||||||
#include <QJsonObject>
|
#include <QJsonObject>
|
||||||
@@ -117,4 +118,6 @@ struct SVCCNRHELPER_EXPORT RadioCircuitVHF: public RadioCircuit
|
|||||||
QJsonObject SVCCNRHELPER_EXPORT frequencyPlanningJson(QJsonObject obj, const QString &name, FrequencyBand freqBand, int radioStationId);
|
QJsonObject SVCCNRHELPER_EXPORT frequencyPlanningJson(QJsonObject obj, const QString &name, FrequencyBand freqBand, int radioStationId);
|
||||||
bool SVCCNRHELPER_EXPORT isAkwMode(RcOperatingMode mode);
|
bool SVCCNRHELPER_EXPORT isAkwMode(RcOperatingMode mode);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif // BUILD_RTI
|
||||||
+5
-6
@@ -11,14 +11,13 @@
|
|||||||
#include <QPointF>
|
#include <QPointF>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
|
// QPoint3D ist bereits in LtsUtilsCore/qpoint3d.h definiert
|
||||||
|
// #include "LtsUtilsCore/qpoint3d.h" // Wird von lts_elevation_manager.h included
|
||||||
|
|
||||||
namespace LtsUtils
|
namespace LtsUtils
|
||||||
{
|
{
|
||||||
struct QPoint3D
|
// Forward-Referenz, Definition erfolgt in qpoint3d.h
|
||||||
{
|
struct QPoint3D;
|
||||||
double x{0.0};
|
|
||||||
double y{0.0};
|
|
||||||
double z{0.0};
|
|
||||||
};
|
|
||||||
} // namespace LtsUtils
|
} // namespace LtsUtils
|
||||||
|
|
||||||
using LOSVector = std::vector<double>;
|
using LOSVector = std::vector<double>;
|
||||||
|
|||||||
Reference in new issue
Block a user