Migration of Legatus codebase to Qt6 with RTI Connext DDS 7.7 integration is partially complete. Core DDS targets build successfully, but ProjectDataManagement module blocks full ddsfts compilation due to IDL definition conflicts.
This commit is contained in:
12 files changed
+203
-144
No files matched your search
@@ -0,0 +1,290 @@
|
||||
#pragma once
|
||||
|
||||
// STUB-HEADER: Diese Datei wird normalerweise von ddsdtc generiert
|
||||
// Für die Migration erstellen wir minimale Forward-Declarations und Stubs
|
||||
|
||||
#include <QObject>
|
||||
#include <QString>
|
||||
#include <QVector>
|
||||
#include <QStringList>
|
||||
#include <QJsonObject>
|
||||
#include <memory>
|
||||
#include <functional>
|
||||
|
||||
namespace DDSConnector
|
||||
{
|
||||
class DdsConnector;
|
||||
}
|
||||
|
||||
namespace ProjectDataManagement
|
||||
{
|
||||
|
||||
// Forward declarations and stub types
|
||||
enum class GearClass
|
||||
{
|
||||
Unknown = 0,
|
||||
// Add other values as needed
|
||||
};
|
||||
|
||||
enum class VolatilityType
|
||||
{
|
||||
Unknown = 0,
|
||||
// Add other values as needed
|
||||
};
|
||||
|
||||
enum class IgniterFunctionBase
|
||||
{
|
||||
IfbImpact = 0,
|
||||
// Add other values as needed
|
||||
};
|
||||
|
||||
enum class VulnerabilityClass
|
||||
{
|
||||
Unknown = 0,
|
||||
// Add other values as needed
|
||||
};
|
||||
|
||||
enum class CasEffect
|
||||
{
|
||||
None = 0,
|
||||
// Add other values as needed
|
||||
};
|
||||
|
||||
enum class ChargeTypeProperty
|
||||
{
|
||||
None = 0,
|
||||
// Add other values as needed
|
||||
};
|
||||
|
||||
struct ChargeType
|
||||
{
|
||||
int id = 0;
|
||||
QString name;
|
||||
QString shortName;
|
||||
QString baseSuffix;
|
||||
int gearClass = 0;
|
||||
QJsonObject properties;
|
||||
// Add other fields as needed
|
||||
};
|
||||
|
||||
struct IgniterType
|
||||
{
|
||||
int id = 0;
|
||||
QString name;
|
||||
QString shortName;
|
||||
QJsonObject properties;
|
||||
// Add other fields as needed
|
||||
};
|
||||
|
||||
struct IgniterFunction
|
||||
{
|
||||
int id = 0;
|
||||
QString name;
|
||||
QString shortName;
|
||||
QJsonObject properties;
|
||||
// Add other fields as needed
|
||||
};
|
||||
|
||||
struct LoadType
|
||||
{
|
||||
int id = 0;
|
||||
QString name;
|
||||
QString shortName;
|
||||
QJsonObject properties;
|
||||
// Add other fields as needed
|
||||
};
|
||||
|
||||
struct TargetSubType
|
||||
{
|
||||
int id = 0;
|
||||
// Add other fields as needed
|
||||
};
|
||||
|
||||
struct GearType
|
||||
{
|
||||
int id = 0;
|
||||
// Add other fields as needed
|
||||
};
|
||||
|
||||
struct GearTypeChargeType
|
||||
{
|
||||
int id = 0;
|
||||
// Add other fields as needed
|
||||
};
|
||||
|
||||
struct ChargeTypeIgniterTypeIgniterFunction
|
||||
{
|
||||
int id = 0;
|
||||
int chargeTypeId = 0;
|
||||
int igniterTypeId = 0;
|
||||
int igniterFunctionId = 0;
|
||||
int igniterFunctionBase = 0;
|
||||
double impactRadius = 0.0;
|
||||
int hazardDistance = 0;
|
||||
int chargeLegacyId = 0;
|
||||
QString adlerChargeTypeName;
|
||||
QString adlerIgniterTypeName;
|
||||
QString adlerIgniterFunctionName;
|
||||
bool isSmart = false;
|
||||
bool isSmoke = false;
|
||||
bool isDus = false;
|
||||
bool isConcrete = false;
|
||||
int volatilityTypeId = 0;
|
||||
QJsonObject properties;
|
||||
// Add other fields as needed
|
||||
};
|
||||
|
||||
struct ChargeTypeLoadType
|
||||
{
|
||||
int id = 0;
|
||||
int chargeTypeId = 0;
|
||||
int loadTypeId = 0;
|
||||
QJsonObject properties;
|
||||
// Add other fields as needed
|
||||
};
|
||||
|
||||
struct BuildingChargeEffect
|
||||
{
|
||||
int id = 0;
|
||||
// Add other fields as needed
|
||||
};
|
||||
|
||||
struct SanitationProcedure
|
||||
{
|
||||
int id = 0;
|
||||
// Add other fields as needed
|
||||
};
|
||||
|
||||
struct PdmBaseName
|
||||
{
|
||||
QString name;
|
||||
// Add other fields as needed
|
||||
};
|
||||
|
||||
namespace Interface
|
||||
{
|
||||
|
||||
// Base class stub - normally generated by DDS
|
||||
class DtcImpl : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit DtcImpl(const std::shared_ptr<DDSConnector::DdsConnector> &ddsConnector = nullptr);
|
||||
~DtcImpl() override = default;
|
||||
|
||||
// Virtual methods that DtcImplCustom overrides
|
||||
virtual QVector<ProjectDataManagement::ChargeType> chargesForGearClass(GearClass gearClass) = 0;
|
||||
virtual QVector<ProjectDataManagement::IgniterType> ignitersForChargeType(int chargeTypeId) = 0;
|
||||
virtual QVector<ProjectDataManagement::ChargeTypeIgniterTypeIgniterFunction> igniterFunctionsForChargeTypeIgniterType(
|
||||
int chargeTypeId, int igniterTypeId) = 0;
|
||||
virtual QVector<ProjectDataManagement::LoadType> loadsForChargeType(int chargeTypeId) = 0;
|
||||
virtual QVector<TargetSubType> targetSubTypesForTargetType(int targetType) = 0;
|
||||
|
||||
virtual double expansionFactor(int chargeTypeId, int igniterTypeId, int igniterFunctionId) = 0;
|
||||
virtual double impactRadius(int chargeTypeId, int igniterTypeId, int igniterFunctionId) = 0;
|
||||
virtual double impactEdgeLength(int chargeTypeId, int igniterTypeId, int igniterFunctionId) = 0;
|
||||
virtual bool isDryFire(int chargeTypeId, int igniterTypeId, int igniterFunctionId) = 0;
|
||||
virtual int mineClass(int chargeTypeId, int igniterTypeId, int igniterFunctionId) = 0;
|
||||
virtual bool canBeThrown(int chargeTypeId, int igniterTypeId, int igniterFunctionId) = 0;
|
||||
virtual bool canBeCreated(int chargeTypeId, int igniterTypeId, int igniterFunctionId) = 0;
|
||||
virtual bool isIed(int chargeTypeId, int igniterTypeId, int igniterFunctionId) = 0;
|
||||
virtual bool isReactivatable(int chargeTypeId, int igniterTypeId, int igniterFunctionId) = 0;
|
||||
virtual bool isSmart(int chargeTypeId, int igniterTypeId, int igniterFunctionId) = 0;
|
||||
virtual int maxEffectShows(int chargeTypeId, int igniterTypeId, int igniterFunctionId) = 0;
|
||||
virtual bool isSmoke(int chargeTypeId, int igniterTypeId, int igniterFunctionId) = 0;
|
||||
virtual bool isVisible(int chargeTypeId, int igniterTypeId, int igniterFunctionId) = 0;
|
||||
virtual bool isIndirect(int chargeTypeId) = 0;
|
||||
virtual int searchRadius(int chargeTypeId, int igniterTypeId, int igniterFunctionId) = 0;
|
||||
virtual bool showHitline(int chargeTypeId, int igniterTypeId, int igniterFunctionId) = 0;
|
||||
virtual int remainingTasCode(int chargeTypeId, int igniterTypeId, int igniterFunctionId) = 0;
|
||||
virtual int secondaryRemainingTasCode(int chargeTypeId, int igniterTypeId, int igniterFunctionId) = 0;
|
||||
virtual int segments(int chargeTypeId, int igniterTypeId, int igniterFunctionId) = 0;
|
||||
virtual bool isLine(int chargeTypeId, int igniterTypeId, int igniterFunctionId) = 0;
|
||||
virtual bool isFromMineLayer(int chargeTypeId, int igniterTypeId, int igniterFunctionId) = 0;
|
||||
virtual bool isMineLaying(int chargeTypeId, int igniterTypeId, int igniterFunctionId) = 0;
|
||||
virtual QJsonObject mineLayingPattern(int chargeTypeId, int igniterTypeId, int igniterFunctionId) = 0;
|
||||
virtual int height(int chargeTypeId, int igniterTypeId, int igniterFunctionId) = 0;
|
||||
virtual bool isLaserGuidable(int chargeTypeId, int igniterTypeId, int igniterFunctionId) = 0;
|
||||
virtual bool isUasDroppable(int chargeTypeId, int igniterTypeId, int igniterFunctionId) = 0;
|
||||
virtual bool isJamming(int chargeTypeId, int igniterTypeId, int igniterFunctionId) = 0;
|
||||
virtual QVector<int> spacing(int chargeTypeId, int igniterTypeId, int igniterFunctionId) = 0;
|
||||
virtual VolatilityType volatilityTypeId(int chargeTypeId, int igniterTypeId, int igniterFunctionId) = 0;
|
||||
virtual int hazardDistance(int chargeTypeId, int igniterTypeId, int igniterFunctionId) = 0;
|
||||
virtual QVector<CasEffect> casEffects(int chargeTypeId, int igniterTypeId, int igniterFunctionId) = 0;
|
||||
virtual GearClass gearClassFromChargeTypeId(int chargeTypeId) = 0;
|
||||
virtual QVector<int> gearTypeIdFromChargeTypeId(int chargeTypeId) = 0;
|
||||
virtual int chargeTypeIdFromLegacyId(GearClass gearClass, int legacyId) = 0;
|
||||
virtual bool isGmlrs(int chargeTypeId) = 0;
|
||||
virtual bool isDm72(int chargeTypeId) = 0;
|
||||
virtual bool isRocket(int chargeTypeId) = 0;
|
||||
|
||||
virtual ChargeTypeIgniterTypeIgniterFunction getChargeTypeIgniterTypeIgniterFunction(
|
||||
int chargeTypeId, int igniterTypeId, int igniterFunctionId) = 0;
|
||||
virtual ChargeTypeLoadType getChargeTypeLoadType(int chargeTypeId, int loadTypeId) = 0;
|
||||
|
||||
virtual bool canRestock(int gearTypeId) = 0;
|
||||
virtual bool canSetDefaults(int gearTypeId) = 0;
|
||||
virtual int maxCharges(int gearTypeId) = 0;
|
||||
virtual int cadence(int gearTypeId) = 0;
|
||||
virtual int getAdlerWeaponSystemId(int gearTypeId) = 0;
|
||||
virtual int factoryDefault(int gearTypeId, int chargeTypeId) = 0;
|
||||
virtual int maxCharge(int gearTypeId, int chargeTypeId) = 0;
|
||||
virtual bool isAtMine(int chargeTypeId, int igniterTypeId, int igniterFunctionId) = 0;
|
||||
virtual bool isApMine(int chargeTypeId, int igniterTypeId, int igniterFunctionId) = 0;
|
||||
virtual double getLethalRadius(int chargeTypeId, int igniterTypeId, int igniterFunctionId) = 0;
|
||||
virtual double getNonLethalRadius(int chargeTypeId, int igniterTypeId, int igniterFunctionId) = 0;
|
||||
virtual double getMaxRange(int chargeTypeId, int gearTypeId) = 0;
|
||||
virtual ProjectDataManagement::BuildingChargeEffect getBuildingChargeEffectByChargeTypeId(int chargeTypeId) = 0;
|
||||
virtual bool isVirtuallyFireable(int chargeTypeId) = 0;
|
||||
virtual bool isAdlerChargeType(int chargeTypeId) = 0;
|
||||
virtual int getAmountFireMarkers(int firePurposeId) = 0;
|
||||
virtual bool getWithDurationFirePurpose(int firePurposeId) = 0;
|
||||
|
||||
// get Adler names/ids
|
||||
virtual int getTargetTypeIdFromAdlerTargetType(const QString &typ) = 0;
|
||||
virtual int getTargetSubTypeIdFromAdlerTargetSubType(const QString &subTyp) = 0;
|
||||
virtual int getChargeTypeIdFromAdlerCharges(const QString &geschosssorte) = 0;
|
||||
virtual int getIgniterTypeIdFromAdlerIgniter(const QString &zuender) = 0;
|
||||
virtual int getIgniterFunctionIdFromAdlerIgniterFunction(const QString &zuenderFunktion) = 0;
|
||||
virtual int getLoadTypeIdFromAdlerLoad(const QString &ladung) = 0;
|
||||
virtual QString adlerTargetTypeName(int targetTypeId) = 0;
|
||||
virtual QString adlerTargetSubTypeName(int targetSubTypeId) = 0;
|
||||
virtual QString adlerChargeTypeName(int chargeTypeId) = 0;
|
||||
virtual QString adlerIgniterTypeName(int igniterTypeId) = 0;
|
||||
virtual QString adlerIgniterFunctionName(int igniterFunctionId) = 0;
|
||||
virtual QString adlerLoadTypeName(int loadTypeId) = 0;
|
||||
|
||||
virtual QString trBiteComponentTextName(int biteComponentId) = 0;
|
||||
virtual QString trCanComponentStringName(int canComponentId) = 0;
|
||||
virtual QString trChargeTypeShortName(int chargeTypeId, bool omitBaseSuffix = false) = 0;
|
||||
virtual QString trChargeTypeName(int chargeTypeId, bool omitBaseSuffix = false) = 0;
|
||||
virtual QString trFirePurposeName(int firePurposeId) = 0;
|
||||
virtual QString trGearTypeName(int gearTypeId) = 0;
|
||||
virtual QString trIgniterTypeName(int igniterTypeId) = 0;
|
||||
virtual QString trIgniterTypeShortName(int igniterTypeId) = 0;
|
||||
virtual QString trIgniterFunctionName(int igniterFunctionId) = 0;
|
||||
virtual QString trIgniterFunctionShortName(int igniterFunctionId) = 0;
|
||||
virtual QString trLoadTypeName(int loadTypeId) = 0;
|
||||
virtual QString trLoadTypeShortName(int loadTypeId) = 0;
|
||||
virtual QString trTargetTypeName(int targetTypeId) = 0;
|
||||
virtual QString trTargetSubTypeName(int targetSubTypeId) = 0;
|
||||
virtual QString trLanguageHmiName(int languageHmiId) = 0;
|
||||
virtual QString trLanguageXduName(int languageXduId) = 0;
|
||||
virtual QString trNuclearPresetName(int nucularPresetId) = 0; // "'Nucular'. It's pronounced 'Nucular'!"
|
||||
virtual QString trRadioGroupName(int radioGroupId) = 0;
|
||||
virtual QString trVulnerabilityKindName(int vulnerabilityKindId, VulnerabilityClass vulnerabilityClassId) = 0;
|
||||
virtual QString trSanitationMaterialName(int sanitationMaterialId) = 0;
|
||||
|
||||
virtual QStringList chargeNames(std::vector<int> &chargeIds) = 0;
|
||||
virtual int getAvailableChargeTypeId(int chargeTypeId) = 0;
|
||||
virtual ChargeTypeProperty getChargeTypeSpecialProperty(int chargeTypeId, int igniterTypeId, int igniterFunctionId) = 0;
|
||||
virtual QVector<SanitationProcedure> getSanitationProcedures(qint64 procedures) = 0;
|
||||
virtual QStringList sanitationProceduresList(qint64 procedures) = 0;
|
||||
};
|
||||
|
||||
class Dtc;
|
||||
class Ftc;
|
||||
|
||||
} // namespace Interface
|
||||
} // namespace ProjectDataManagement
|
||||
Reference in new issue
Block a user