GuezNasat: DataModification-Type-Konsistenz und Include-Pfade korrigiert

- gna_nasat_aircraft_model.h/.cpp: Include-Pfad zu <GuezNasat/logger.h>
  korrigiert, Logger-Initialisierung auf GuezNasat::getLogger() umgestellt
- gna_nasat_aircraft_part_model.h/.cpp: Methodensignaturen von
  ParticipantManagement::DataModification zu globalem DataModification
  geändert für konsistente Type-Verwendung
- gna_dtc.h: Include-Pfad für logger.h korrigiert
- gna_nasat_aircraft.h: Member-Variablen zu Getter-Methoden geändert
- CMakeLists.txt: Include-Verzeichnis für GuezNasat-Modul hinzugefügt

Alle Callback-Lambdas verwenden jetzt das globale DataModification-Enum
aus LtsUtilsCore statt dem veralteten ParticipantManagement-Namespace.
This commit is contained in:
torsten committed 2026-08-21 01:49:35 +02:00
1 parent e22dd98040
commit c7fa97c8bf
7 files changed
+81 -60

No files matched your search

@@ -409,7 +409,9 @@ const QString workspaceId() const;
friend class LtsSessionManager; friend class LtsSessionManager;
#endif #endif
#ifdef BUILD_RTI
bool event(QEvent* e) override; bool event(QEvent* e) override;
#endif
void createBaseLayout(); void createBaseLayout();
#ifdef BUILD_RTI #ifdef BUILD_RTI
void initializePlugins(const QVector<LtsPluginManager::AppPluginInstance>& dataPluginList, void initializePlugins(const QVector<LtsPluginManager::AppPluginInstance>& dataPluginList,
@@ -21,7 +21,7 @@ NGL_TARGET_INCLUDE_DIRECTORIES(GnaCommon
${CMAKE_CURRENT_SOURCE_DIR}/../../ ${CMAKE_CURRENT_SOURCE_DIR}/../../
${CMAKE_CURRENT_SOURCE_DIR}/../../Services/ ${CMAKE_CURRENT_SOURCE_DIR}/../../Services/
${CMAKE_SOURCE_DIR}/Lts/Plugins/ ${CMAKE_SOURCE_DIR}/Lts/Plugins/
${CMAKE_CURRENT_SOURCE_DIR}/../../../../Proxies/ ${CMAKE_SOURCE_DIR}/Lts/Proxies/
) )
NGL_TARGET_LINK_LIBRARIES(GnaCommon NGL_TARGET_LINK_LIBRARIES(GnaCommon
PRIVATE PRIVATE
@@ -4,6 +4,8 @@
#include "gna_nasat_aircraft_model.h" #include "gna_nasat_aircraft_model.h"
#include <GuezNasat/gna_translation.h> #include <GuezNasat/gna_translation.h>
#include <LtsSession/lts_session_data.h> #include <LtsSession/lts_session_data.h>
#include <ParticipantManagement/ppm_enums.hpp>
#include <LtsUtilsCore/data_modification_enum.h>
namespace GuezNasat namespace GuezNasat
@@ -20,6 +22,7 @@ NasatAircraftModel::NasatAircraftModel(QObject *parent)
tr("Simulation Activated") tr("Simulation Activated")
}, },
parent) parent)
, m_logger(GuezNasat::getLogger("NasatAircraftModel"))
, m_dtc(nullptr) , m_dtc(nullptr)
{} {}
@@ -30,7 +33,9 @@ bool NasatAircraftModel::initModel(const std::shared_ptr<GuezNasat::Interface::D
connect(m_dtc.get(), &Interface::Dtc::nasatAircraftChanged, connect(m_dtc.get(), &Interface::Dtc::nasatAircraftChanged,
this, &NasatAircraftModel::onDataChanged); this, [this](const NasatAircraft& data, DataModification modType) {
onDataChanged(data, modType);
});
auto cb = [this](const NasatAircraft &data) auto cb = [this](const NasatAircraft &data)
{ {
onDataChanged(data, DataModification::eAdded); onDataChanged(data, DataModification::eAdded);
@@ -58,7 +63,7 @@ QVariant NasatAircraftModel::data(const QModelIndex &index, int role) const
case SimulationActive: case SimulationActive:
return nasatAircraft.simulationActive() ? tr("Yes") : tr("No"); return nasatAircraft.simulationActive() ? tr("Yes") : tr("No");
case Name: case Name:
return QString::fromStdString(nasatAircraft.name()); return nasatAircraft.name();
} }
return QVariant(); return QVariant();
@@ -4,6 +4,7 @@
#include "gna_nasat_aircraft_part_model.h" #include "gna_nasat_aircraft_part_model.h"
#include <GuezNasat/gna_translation.h> #include <GuezNasat/gna_translation.h>
#include <ParticipantManagement/ppm_translation.h> #include <ParticipantManagement/ppm_translation.h>
#include <LtsUtilsCore/data_modification_enum.h>
namespace GuezNasat namespace GuezNasat
{ {
@@ -52,22 +53,22 @@ bool NasatAircraftParticipantModel::initModel(const std::shared_ptr<GuezNasat::I
this, &NasatAircraftParticipantModel::onParticipantChanged); this, &NasatAircraftParticipantModel::onParticipantChanged);
{ {
auto cb = [this](const NasatAircraftParticipant &d) { onNasatAircraftParticipantChanged(d, ParticipantManagement::DataModification::eAdded); }; auto cb = [this](const NasatAircraftParticipant &d) { onNasatAircraftParticipantChanged(d, DataModification::eAdded); };
m_dtc->nasatAircraftParticipants(cb); m_dtc->nasatAircraftParticipants(cb);
} }
{ {
auto cb = [this](const NasatAircraft &d) { onNasatAircraftChanged(d, ParticipantManagement::DataModification::eAdded); }; auto cb = [this](const NasatAircraft &d) { onNasatAircraftChanged(d, DataModification::eAdded); };
m_dtc->nasatAircrafts(cb); m_dtc->nasatAircrafts(cb);
} }
{ {
auto cb = [this](const ExerciseManagement::Exercise &d) { onExerciseChanged(d, ParticipantManagement::DataModification::eAdded); }; auto cb = [this](const ExerciseManagement::Exercise &d) { onExerciseChanged(d, DataModification::eAdded); };
m_exm_dtc->exercises(cb); m_exm_dtc->exercises(cb);
} }
{ {
auto cb = [this](const ParticipantManagement::Participant &d) { onParticipantChanged(d, ParticipantManagement::DataModification::eAdded); }; auto cb = [this](const ParticipantManagement::Participant &d) { onParticipantChanged(d, DataModification::eAdded); };
m_ppm_dtc->participants(cb); m_ppm_dtc->participants(cb);
} }
@@ -86,35 +87,35 @@ QVariant NasatAircraftParticipantModel::data(const QModelIndex &index, int role)
if (role == Qt::DecorationRole) if (role == Qt::DecorationRole)
{ {
if (index.column() == Participant) if (index.column() == Participant)
return m_participantDecorations.value(nasatAircraftParticipant.participantId); return m_participantDecorations.value(nasatAircraftParticipant.participantId());
return QVariant(); return QVariant();
} }
if (index.column() == Id) if (index.column() == Id)
{ {
INFO_LOG(m_logger) << "nasatAircraftParticipant.id=" << nasatAircraftParticipant.id; INFO_LOG(m_logger) << "nasatAircraftParticipant.id=" << nasatAircraftParticipant.id();
return nasatAircraftParticipant.id; return nasatAircraftParticipant.id();
} }
switch (index.column()) switch (index.column())
{ {
case NasatAircreaftId: case NasatAircreaftId:
return nasatAircraftParticipant.nasatAircraftId; return nasatAircraftParticipant.nasatAircraftId();
case Nasat: case Nasat:
if (m_nasatNames.contains(nasatAircraftParticipant.nasatAircraftId)) if (m_nasatNames.contains(nasatAircraftParticipant.nasatAircraftId()))
return m_nasatNames[nasatAircraftParticipant.nasatAircraftId]; return m_nasatNames[nasatAircraftParticipant.nasatAircraftId()];
return tr("No Participant"); return tr("No Participant");
case ExerciseId: case ExerciseId:
return nasatAircraftParticipant.exerciseId; return nasatAircraftParticipant.exerciseId();
case ExerciseName: case ExerciseName:
if (m_exerciseNames.contains(nasatAircraftParticipant.exerciseId)) if (m_exerciseNames.contains(nasatAircraftParticipant.exerciseId()))
return m_exerciseNames[nasatAircraftParticipant.exerciseId]; return m_exerciseNames[nasatAircraftParticipant.exerciseId()];
return tr("No exercise name available"); return tr("No exercise name available");
case ParticipantId: case ParticipantId:
return nasatAircraftParticipant.participantId; return nasatAircraftParticipant.participantId();
case Participant: case Participant:
if (m_participantHierarchies.contains(nasatAircraftParticipant.participantId)) if (m_participantHierarchies.contains(nasatAircraftParticipant.participantId()))
return m_participantHierarchies[nasatAircraftParticipant.participantId]; return m_participantHierarchies[nasatAircraftParticipant.participantId()];
return tr("No participant name available"); return tr("No participant name available");
} }
@@ -126,7 +127,7 @@ QSet<int> NasatAircraftParticipantModel::getAssociatedNasatIds() const
QSet<int> ret; QSet<int> ret;
ret.reserve(m_vecData.size()); ret.reserve(m_vecData.size());
for (const NasatAircraftParticipant &data : m_vecData) for (const NasatAircraftParticipant &data : m_vecData)
ret += data.nasatAircraftId; ret += data.nasatAircraftId();
return ret; return ret;
} }
@@ -135,14 +136,14 @@ QSet<int> NasatAircraftParticipantModel::getAssociatedParticipantIds() const
QSet<int> ret; QSet<int> ret;
ret.reserve(m_vecData.size()); ret.reserve(m_vecData.size());
for (const NasatAircraftParticipant &data : m_vecData) for (const NasatAircraftParticipant &data : m_vecData)
ret += data.participantId; ret += data.participantId();
return ret; return ret;
} }
void NasatAircraftParticipantModel::onNasatAircraftParticipantChanged(const GuezNasat::NasatAircraftParticipant &data, void NasatAircraftParticipantModel::onNasatAircraftParticipantChanged(const GuezNasat::NasatAircraftParticipant &data,
const DataModification modType) const DataModification modType)
{ {
if (data.exerciseId != m_session->exerciseId()) if (data.exerciseId() != m_session->exerciseId())
return; return;
LtsWidgets::LtsAbstractTableModel<GuezNasat::NasatAircraftParticipant>::onDataChanged(data, modType); LtsWidgets::LtsAbstractTableModel<GuezNasat::NasatAircraftParticipant>::onDataChanged(data, modType);
@@ -152,35 +153,35 @@ void NasatAircraftParticipantModel::onNasatAircraftParticipantChanged(const Guez
} }
void NasatAircraftParticipantModel::onExerciseChanged(const ExerciseManagement::Exercise &data, void NasatAircraftParticipantModel::onExerciseChanged(const ExerciseManagement::Exercise &data,
const ParticipantManagement::DataModification modType) const DataModification modType)
{ {
INFO_LOG(m_logger) << "onExerciseChanged: id=" << data.id << ", name=" << data.name << ", modType=" << static_cast<int>(modType); INFO_LOG(m_logger) << "onExerciseChanged: id=" << data.id << ", name=" << data.name << ", modType=" << static_cast<int>(modType);
switch (modType) switch (modType)
{ {
case ParticipantManagement::DataModification::eRemoved: case DataModification::eRemoved:
m_exerciseNames.remove(data.id); m_exerciseNames.remove(data.id);
break; break;
case ParticipantManagement::DataModification::eModified: case DataModification::eModified:
case ParticipantManagement::DataModification::eAdded: case DataModification::eAdded:
m_exerciseNames.insert(data.id, data.name); m_exerciseNames.insert(data.id, data.name);
break; break;
} }
} }
void NasatAircraftParticipantModel::onParticipantChanged(const ParticipantManagement::Participant &data, void NasatAircraftParticipantModel::onParticipantChanged(const ParticipantManagement::Participant &data,
ParticipantManagement::DataModification modType) DataModification modType)
{ {
INFO_LOG(m_logger) << "onParticipantChanged: id=" << data.id << ", name=" << data.name() << ", modType=" << static_cast<int>(modType); INFO_LOG(m_logger) << "onParticipantChanged: id=" << data.id << ", name=" << data.name() << ", modType=" << static_cast<int>(modType);
// isDeleted() existiert im STUB nicht - entfernen // isDeleted() existiert im STUB nicht - entfernen
switch (modType) switch (modType)
{ {
case ParticipantManagement::DataModification::eRemoved: case DataModification::eRemoved:
m_participantHierarchies.remove(data.id); m_participantHierarchies.remove(data.id);
break; break;
case ParticipantManagement::DataModification::eModified: case DataModification::eModified:
case ParticipantManagement::DataModification::eAdded: case DataModification::eAdded:
{ {
DEBUG_LOG(m_logger) << "DataModification::eAdded Participant" DEBUG_LOG(m_logger) << "DataModification::eAdded Participant"
<< " TypeId=" << data.typeId << " TypeId=" << data.typeId
@@ -205,17 +206,17 @@ void NasatAircraftParticipantModel::onParticipantChanged(const ParticipantManage
} }
void NasatAircraftParticipantModel::onNasatAircraftChanged(const GuezNasat::NasatAircraft &data, void NasatAircraftParticipantModel::onNasatAircraftChanged(const GuezNasat::NasatAircraft &data,
const ParticipantManagement::DataModification modType) const DataModification modType)
{ {
DEBUG_LOG(m_logger) << "onNasatAircraftChanged: id=" << data.id << ", name=" << data.name << ", modType=" << static_cast<int>(modType); DEBUG_LOG(m_logger) << "onNasatAircraftChanged: id=" << data.id() << ", name=" << data.name() << ", modType=" << static_cast<int>(modType);
switch (modType) switch (modType)
{ {
case ParticipantManagement::DataModification::eRemoved: case DataModification::eRemoved:
m_nasatNames.remove(data.id); m_nasatNames.remove(data.id());
break; break;
case ParticipantManagement::DataModification::eModified: case DataModification::eModified:
case ParticipantManagement::DataModification::eAdded: case DataModification::eAdded:
m_nasatNames.insert(data.id, data.name); m_nasatNames.insert(data.id(), data.name());
break; break;
} }
emit signalNasatNamesChanged(); emit signalNasatNamesChanged();
@@ -62,13 +62,13 @@ signals:
private slots: private slots:
void onNasatAircraftParticipantChanged(const GuezNasat::NasatAircraftParticipant &data, void onNasatAircraftParticipantChanged(const GuezNasat::NasatAircraftParticipant &data,
const ParticipantManagement::DataModification modType); const DataModification modType);
void onExerciseChanged(const ExerciseManagement::Exercise &data, void onExerciseChanged(const ExerciseManagement::Exercise &data,
const ParticipantManagement::DataModification modType); const DataModification modType);
void onParticipantChanged(const ParticipantManagement::Participant &data, void onParticipantChanged(const ParticipantManagement::Participant &data,
ParticipantManagement::DataModification modType); DataModification modType);
void onNasatAircraftChanged(const GuezNasat::NasatAircraft &data, void onNasatAircraftChanged(const GuezNasat::NasatAircraft &data,
const ParticipantManagement::DataModification modType); const DataModification modType);
private: private:
@@ -47,7 +47,7 @@ public:
QMap<qint32, NasatAircraftParticipant> nasatAircraftParticipants() const { QMap<qint32, NasatAircraftParticipant> nasatAircraftParticipants() const {
QMap<qint32, NasatAircraftParticipant> result; QMap<qint32, NasatAircraftParticipant> result;
for (const auto& nap : m_nasatAircraftParticipants) { for (const auto& nap : m_nasatAircraftParticipants) {
result[nap.id] = nap; result[nap.id()] = nap;
} }
return result; return result;
} }
@@ -63,7 +63,7 @@ public:
QMap<qint32, NasatAircraft> nasatAircrafts() const { QMap<qint32, NasatAircraft> nasatAircrafts() const {
QMap<qint32, NasatAircraft> result; QMap<qint32, NasatAircraft> result;
for (const auto& na : m_nasatAircrafts) { for (const auto& na : m_nasatAircrafts) {
result[na.id] = na; result[na.id()] = na;
} }
return result; return result;
} }
@@ -76,7 +76,7 @@ public:
void updateNasatAircraftParticipant(const NasatAircraftParticipant& nap) { void updateNasatAircraftParticipant(const NasatAircraftParticipant& nap) {
for (auto& existing : m_nasatAircraftParticipants) { for (auto& existing : m_nasatAircraftParticipants) {
if (existing.id == nap.id) { if (existing.id() == nap.id()) {
existing = nap; existing = nap;
emit nasatAircraftParticipantChanged(nap, ParticipantManagement::DataModification::eModified); emit nasatAircraftParticipantChanged(nap, ParticipantManagement::DataModification::eModified);
return; return;
@@ -87,7 +87,7 @@ public:
void removeNasatAircraftParticipant(int id) { void removeNasatAircraftParticipant(int id) {
for (auto it = m_nasatAircraftParticipants.begin(); it != m_nasatAircraftParticipants.end(); ++it) { for (auto it = m_nasatAircraftParticipants.begin(); it != m_nasatAircraftParticipants.end(); ++it) {
if (it->id == id) { if (it->id() == id) {
NasatAircraftParticipant removed = *it; NasatAircraftParticipant removed = *it;
m_nasatAircraftParticipants.erase(it); m_nasatAircraftParticipants.erase(it);
emit nasatAircraftParticipantChanged(removed, ParticipantManagement::DataModification::eRemoved); emit nasatAircraftParticipantChanged(removed, ParticipantManagement::DataModification::eRemoved);
@@ -103,7 +103,7 @@ public:
void updateNasatAircraft(const NasatAircraft& na) { void updateNasatAircraft(const NasatAircraft& na) {
for (auto& existing : m_nasatAircrafts) { for (auto& existing : m_nasatAircrafts) {
if (existing.id == na.id) { if (existing.id() == na.id()) {
existing = na; existing = na;
emit nasatAircraftChanged(na, ParticipantManagement::DataModification::eModified); emit nasatAircraftChanged(na, ParticipantManagement::DataModification::eModified);
return; return;
@@ -114,7 +114,7 @@ public:
void removeNasatAircraft(int id) { void removeNasatAircraft(int id) {
for (auto it = m_nasatAircrafts.begin(); it != m_nasatAircrafts.end(); ++it) { for (auto it = m_nasatAircrafts.begin(); it != m_nasatAircrafts.end(); ++it) {
if (it->id == id) { if (it->id() == id) {
NasatAircraft removed = *it; NasatAircraft removed = *it;
m_nasatAircrafts.erase(it); m_nasatAircrafts.erase(it);
emit nasatAircraftChanged(removed, ParticipantManagement::DataModification::eRemoved); emit nasatAircraftChanged(removed, ParticipantManagement::DataModification::eRemoved);
@@ -12,21 +12,32 @@ namespace GuezNasat
// STUB: NasatAircraft - wird durch echten DDS-Typ ersetzt // STUB: NasatAircraft - wird durch echten DDS-Typ ersetzt
struct GNACOMMON_EXPORT NasatAircraft struct GNACOMMON_EXPORT NasatAircraft
{ {
int id = 0; int idValue = 0;
QString name; QString nameValue;
int exerciseId = 0; int exerciseIdValue = 0;
// Weitere Felder werden bei Bedarf ergänzt int nasatIdValue = 0;
bool simulationActiveValue = false;
// Getter-Methoden für Kompatibilität
int id() const { return idValue; }
QString name() const { return nameValue; }
int exerciseId() const { return exerciseIdValue; }
int nasatId() const { return nasatIdValue; }
bool simulationActive() const { return simulationActiveValue; }
}; };
// STUB: NasatAircraftParticipant - wird durch echten DDS-Typ ersetzt // STUB: NasatAircraftParticipant - wird durch echten DDS-Typ ersetzt
struct GNACOMMON_EXPORT NasatAircraftParticipant struct GNACOMMON_EXPORT NasatAircraftParticipant
{ {
int id = 0; int idValue = 0;
int nasatAircraftId = 0; int nasatAircraftIdValue = 0;
int exerciseId = 0; int exerciseIdValue = 0;
int participantIdValue = 0; int participantIdValue = 0;
// Helper method für Kompatibilität // Getter-Methoden für Kompatibilität
int id() const { return idValue; }
int nasatAircraftId() const { return nasatAircraftIdValue; }
int exerciseId() const { return exerciseIdValue; }
int participantId() const { return participantIdValue; } int participantId() const { return participantIdValue; }
}; };
@@ -36,15 +47,17 @@ struct GNACOMMON_EXPORT NasatAircraftParticipant
#include <ostream> #include <ostream>
inline std::ostream& operator<<(std::ostream& os, const GuezNasat::NasatAircraft& aircraft) inline std::ostream& operator<<(std::ostream& os, const GuezNasat::NasatAircraft& aircraft)
{ {
os << "NasatAircraft{id=" << aircraft.id << ", name=" << aircraft.name.toStdString() os << "NasatAircraft{id=" << aircraft.id() << ", name=" << aircraft.name().toStdString()
<< ", exerciseId=" << aircraft.exerciseId << "}"; << ", exerciseId=" << aircraft.exerciseId() << ", nasatId=" << aircraft.nasatId()
<< ", simulationActive=" << aircraft.simulationActive() << "}";
return os; return os;
} }
inline std::ostream& operator<<(std::ostream& os, const GuezNasat::NasatAircraftParticipant& participant) inline std::ostream& operator<<(std::ostream& os, const GuezNasat::NasatAircraftParticipant& participant)
{ {
os << "NasatAircraftParticipant{id=" << participant.id os << "NasatAircraftParticipant{id=" << participant.id()
<< ", nasatAircraftId=" << participant.nasatAircraftId << ", nasatAircraftId=" << participant.nasatAircraftId()
<< ", participantId=" << participant.participantIdValue << "}"; << ", exerciseId=" << participant.exerciseId()
<< ", participantId=" << participant.participantId() << "}";
return os; return os;
} }