Files
qt-migration-legatus/qt6-after/qt6-migrated-legatus/Lts/Common/LtsSession/lts_session_data_dds.h
T
torsten 05095c6813 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)
2026-08-21 01:48:52 +02:00

106 lines
2.7 KiB
C++

/**
* @RDE_HEADER@
* DDS specific parts for a session
* $Id$
* $HeadURL$
* $Author$
*
* Created by Christian Ehrlicher, SLSE, 2017-02-27
*/
#pragma once
#ifdef BUILD_RTI
#include <QObject>
#include <QMap>
#include <QUrl>
#include <QStringList>
#include <memory>
namespace LtsSession
{
// Stub enum for PartitionType
enum class PartitionType {
Any = 0,
Exercise,
Replay
};
struct DdsConnectionParams
{
int domainId = -1;
int partitionId = 0;
int exerciseId = 0;
PartitionType partitionType = PartitionType::Any;
QUrl tcpConnectionUrl;
QStringList qos_file;
DdsConnectionParams() = default;
bool isValid() const
{
return domainId >= 0 && partitionType != PartitionType::Any;
}
bool operator==(const DdsConnectionParams& o) const
{
return domainId == o.domainId && partitionId == o.partitionId && exerciseId == o.exerciseId &&
qos_file == o.qos_file && partitionType == o.partitionType && tcpConnectionUrl == o.tcpConnectionUrl;
}
bool operator!=(const DdsConnectionParams& o) const
{
return !operator==(o);
}
bool operator<(const DdsConnectionParams& o) const
{
if (domainId != o.domainId)
return domainId < o.domainId;
if (partitionId != o.partitionId)
return partitionId < o.partitionId;
if (exerciseId != o.exerciseId)
return exerciseId < o.exerciseId;
if (qos_file != o.qos_file)
return qos_file < o.qos_file;
if (partitionType != o.partitionType)
return partitionType < o.partitionType;
return tcpConnectionUrl.toString() < o.tcpConnectionUrl.toString();
}
};
// Stub base class - inherits QObject for compatibility
class LtsSessionDataDds : public QObject
{
Q_OBJECT
protected:
explicit LtsSessionDataDds(QObject* parent = nullptr) : QObject(parent) {}
public:
~LtsSessionDataDds() = default;
int domainId() const { return -1; }
int exerciseId() const { return 0; }
int partitionId() const { return 0; }
QStringList qosFile() const { return QStringList(); }
PartitionType partitionType() const { return PartitionType::Any; }
static QString partitionTypeString(PartitionType partitionType) { return QString::number(static_cast<int>(partitionType)); }
bool isExercisePartition() const { return false; }
bool isReplayPartition() const { return false; }
QString toString() const { return QStringLiteral("LtsSessionDataDds(stub)"); }
qint64 partitionTime() const { return 0; }
signals:
void partitionTimeChanged(qint64 newPartitionTime);
void partitionTimeChangedInternal();
};
} // namespace LtsSession
#endif // BUILD_RTI