#pragma once // STUB-HEADER: Diese Datei wird normalerweise von ddsdtc generiert // Für die Migration erstellen wir minimale Forward-Declarations und Stubs #include #include #include #include #include #include #include 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 = nullptr); ~DtcImpl() override = default; // Virtual methods that DtcImplCustom overrides virtual QVector chargesForGearClass(GearClass gearClass) = 0; virtual QVector ignitersForChargeType(int chargeTypeId) = 0; virtual QVector igniterFunctionsForChargeTypeIgniterType( int chargeTypeId, int igniterTypeId) = 0; virtual QVector loadsForChargeType(int chargeTypeId) = 0; virtual QVector 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 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 casEffects(int chargeTypeId, int igniterTypeId, int igniterFunctionId) = 0; virtual GearClass gearClassFromChargeTypeId(int chargeTypeId) = 0; virtual QVector 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 &chargeIds) = 0; virtual int getAvailableChargeTypeId(int chargeTypeId) = 0; virtual ChargeTypeProperty getChargeTypeSpecialProperty(int chargeTypeId, int igniterTypeId, int igniterFunctionId) = 0; virtual QVector getSanitationProcedures(qint64 procedures) = 0; virtual QStringList sanitationProceduresList(qint64 procedures) = 0; }; class Dtc; class Ftc; } // namespace Interface } // namespace ProjectDataManagement