Adds latest migration results

This commit is contained in:
torsten committed 2026-09-01 12:37:37 +02:00
1 parent 4e548318b5
commit 8a26ac0a5d
5 files changed
+1424

No files matched your search

@@ -0,0 +1,109 @@
# This file is configured by CMake automatically as DartConfiguration.tcl
# If you choose not to use CMake, this file may be hand configured, by
# filling in the required variables.
# Configuration directories and files
SourceDirectory: /workspace/qt-migration-legatus/qt6-after/qt6-migrated-legatus
BuildDirectory: /workspace/qt-migration-legatus/qt6-after/qt6-migrated-legatus
# Where to place the cost data store
CostDataFile:
# Site is something like machine.domain, i.e. pragmatic.crd
Site: d00b0d044d57
# Build name is osname-revision-compiler, i.e. Linux-2.4.2-2smp-c++
BuildName: Linux-c++
# Subprojects
LabelsForSubprojects:
# Submission information
SubmitURL: http://
SubmitInactivityTimeout:
# Dashboard start time
NightlyStartTime: 00:00:00 EDT
# Commands for the build/test/submit cycle
ConfigureCommand: "/usr/bin/cmake" "/workspace/qt-migration-legatus/qt6-after/qt6-migrated-legatus"
MakeCommand: /usr/bin/cmake --build . --config "${CTEST_CONFIGURATION_TYPE}"
DefaultCTestConfigurationType: Release
# version control
UpdateVersionOnly:
# CVS options
# Default is "-d -P -A"
CVSCommand:
CVSUpdateOptions:
# Subversion options
SVNCommand:
SVNOptions:
SVNUpdateOptions:
# Git options
GITCommand:
GITInitSubmodules:
GITUpdateOptions:
GITUpdateCustom:
# Perforce options
P4Command:
P4Client:
P4Options:
P4UpdateOptions:
P4UpdateCustom:
# Generic update command
UpdateCommand:
UpdateOptions:
UpdateType:
# Compiler info
Compiler: /usr/bin/c++
CompilerVersion: 15.2.0
# Dynamic analysis (MemCheck)
PurifyCommand:
ValgrindCommand:
ValgrindCommandOptions:
DrMemoryCommand:
DrMemoryCommandOptions:
CudaSanitizerCommand:
CudaSanitizerCommandOptions:
MemoryCheckType:
MemoryCheckSanitizerOptions:
MemoryCheckCommand: MEMORYCHECK_COMMAND-NOTFOUND
MemoryCheckCommandOptions:
MemoryCheckSuppressionFile:
# Coverage
CoverageCommand: /usr/bin/gcov
CoverageExtraFlags: -l
# Testing options
# TimeOut is the amount of time in seconds to wait for processes
# to complete during testing. After TimeOut seconds, the
# process will be summarily terminated.
# Currently set to 25 minutes
TimeOut: 1500
# During parallel testing CTest will not start a new test if doing
# so would cause the system load to exceed this value.
TestLoad:
TLSVerify:
TLSVersion:
UseLaunchers:
CurlOptions:
# warning, if you add new options here that have to do with submit,
# you have to update cmCTestSubmitCommand.cxx
# For CTest submissions that timeout, these options
# specify behavior for retrying the submission
CTestSubmitRetryDelay: 5
CTestSubmitRetryCount: 3
@@ -0,0 +1,113 @@
// Stub log4qt implementation for builds without log4qt library
// This provides minimal functionality to allow compilation when log4qt is not available
#ifndef LOG4QT_STUB_H
#define LOG4QT_STUB_H
#include <QString>
#include <QObject>
#include <QDebug>
namespace Log4Qt {
// Minimal Logger class stub (no Q_OBJECT to avoid MOC requirements)
class Logger
{
public:
explicit Logger(QObject *parent = nullptr) { Q_UNUSED(parent); }
virtual ~Logger() = default;
inline void trace(const QString &message) { Q_UNUSED(message); }
inline void debug(const QString &message) { qDebug() << message; }
inline void info(const QString &message) { qDebug() << message; }
inline void warning(const QString &message) { qWarning() << message; }
inline void error(const QString &message) { qCritical() << message; }
inline void fatal(const QString &message) { qCritical() << message; }
inline bool isTraceEnabled() const { return true; }
inline bool isDebugEnabled() const { return true; }
inline bool isInfoEnabled() const { return true; }
inline bool isWarnEnabled() const { return true; }
inline bool isErrorEnabled() const { return true; }
};
// Minimal RollingFileAppender stub
class RollingFileAppender : public Logger
{
public:
explicit RollingFileAppender(QObject *parent = nullptr) : Logger(parent) {}
~RollingFileAppender() override = default;
inline void setFile(const QString &filename) { Q_UNUSED(filename); }
inline void setAppendFile(bool append) { Q_UNUSED(append); }
virtual void activateOptions() {}
};
// Minimal LogManager stub
class LogManager
{
public:
static LogManager *instance() {
static LogManager inst;
return &inst;
}
Logger *logger(const QString &name) {
static Logger dummy;
Q_UNUSED(name);
return &dummy;
}
void setDefaultLogger(Logger *logger) { Q_UNUSED(logger); }
};
// Minimal PropertyConfigurator stub
class PropertyConfigurator
{
public:
static bool doConfigure(const QString &configFile) {
Q_UNUSED(configFile);
return false;
}
};
// Minimal LoggerRepository stub
class LoggerRepository
{
public:
inline void setThreshold(int level) { Q_UNUSED(level); }
};
// Minimal ConfiguratorHelper stub
namespace Helpers {
class ConfiguratorHelper {
public:
static ConfiguratorHelper *instance() {
static ConfiguratorHelper inst;
return &inst;
}
};
class Properties {
public:
Properties() {}
inline void setProperty(const QString &key, const QString &value) {
Q_UNUSED(key); Q_UNUSED(value);
}
};
class Factory {
public:
static Factory *instance() {
static Factory inst;
return &inst;
}
inline void registerAppender(const QString &name, void *creator) {
Q_UNUSED(name); Q_UNUSED(creator);
}
};
}
} // namespace Log4Qt
#endif // LOG4QT_STUB_H
@@ -0,0 +1,259 @@
/**
* Stub implementation for DtcImpl base class
* Qt6 Migration - provides minimal stub implementations
*/
#include "pdm_dtc_impl.h"
#include <QJsonObject>
namespace ProjectDataManagement
{
namespace Interface
{
DtcImpl::DtcImpl(const std::shared_ptr<DDSConnector::DdsConnector> &ddsConnector)
: m_ddsConnector(ddsConnector)
{
}
DtcImpl::~DtcImpl() = default;
// Data access methods - stub implementations
ChargeTypeData DtcImpl::chargeType(int /*chargeTypeId*/)
{
return ChargeTypeData();
}
IgniterType DtcImpl::igniterType(int /*igniterTypeId*/)
{
return IgniterType();
}
IgniterFunction DtcImpl::igniterFunction(int /*igniterFunctionId*/)
{
return IgniterFunction();
}
LoadType DtcImpl::loadType(int /*loadTypeId*/)
{
return LoadType();
}
GearType DtcImpl::gearType(int /*gearTypeId*/)
{
return GearType();
}
int DtcImpl::targetType(int /*targetTypeId*/)
{
return 0;
}
TargetSubType DtcImpl::targetSubType(int /*targetSubTypeId*/)
{
return TargetSubType();
}
// Collection getters - stub implementations
QMap<int, ChargeTypeData> DtcImpl::chargeTypes()
{
return QMap<int, ChargeTypeData>();
}
QVector<IgniterType> DtcImpl::igniterTypes()
{
return QVector<IgniterType>();
}
QVector<IgniterFunction> DtcImpl::igniterFunctions()
{
return QVector<IgniterFunction>();
}
QVector<LoadType> DtcImpl::loadTypes()
{
return QVector<LoadType>();
}
QVector<GearType> DtcImpl::gearTypes()
{
return QVector<GearType>();
}
QVector<int> DtcImpl::targetTypes()
{
return QVector<int>();
}
QVector<TargetSubType> DtcImpl::targetSubTypes()
{
return QVector<TargetSubType>();
}
QVector<ChargeTypeIgniterTypeIgniterFunction> DtcImpl::chargeTypeIgniterTypeIgniterFunctions()
{
return QVector<ChargeTypeIgniterTypeIgniterFunction>();
}
QVector<ChargeTypeLoadType> DtcImpl::chargeTypeLoadTypes()
{
return QVector<ChargeTypeLoadType>();
}
QVector<GearTypeChargeType> DtcImpl::gearTypeChargeTypes()
{
return QVector<GearTypeChargeType>();
}
QVector<BuildingChargeEffect> DtcImpl::buildingChargeEffects()
{
return QVector<BuildingChargeEffect>();
}
// isEnabled checks - stub implementations
bool DtcImpl::isChargeTypeEnabled()
{
return false;
}
bool DtcImpl::isIgniterTypeEnabled()
{
return false;
}
bool DtcImpl::isIgniterFunctionEnabled()
{
return false;
}
bool DtcImpl::isLoadTypeEnabled()
{
return false;
}
bool DtcImpl::isGearTypeEnabled()
{
return false;
}
bool DtcImpl::isTargetTypeEnabled()
{
return false;
}
bool DtcImpl::isTargetSubTypeEnabled()
{
return false;
}
bool DtcImpl::isChargeTypeIgniterTypeIgniterFunctionEnabled()
{
return false;
}
bool DtcImpl::isChargeTypeLoadTypeEnabled()
{
return false;
}
bool DtcImpl::isGearTypeChargeTypeEnabled()
{
return false;
}
bool DtcImpl::isBuildingChargeEffectEnabled()
{
return false;
}
// waitForHistoricalData methods - stub implementations
void DtcImpl::waitForHistoricalDataChargeType(int /*timeout_ms*/)
{
}
void DtcImpl::waitForHistoricalDataIgniterType(int /*timeout_ms*/)
{
}
void DtcImpl::waitForHistoricalDataIgniterFunction(int /*timeout_ms*/)
{
}
void DtcImpl::waitForHistoricalDataLoadType(int /*timeout_ms*/)
{
}
void DtcImpl::waitForHistoricalDataGearType(int /*timeout_ms*/)
{
}
void DtcImpl::waitForHistoricalDataTargetType(int /*timeout_ms*/)
{
}
void DtcImpl::waitForHistoricalDataTargetSubType(int /*timeout_ms*/)
{
}
void DtcImpl::waitForHistoricalDataChargeTypeIgniterTypeIgniterFunction(int /*timeout_ms*/)
{
}
void DtcImpl::waitForHistoricalDataChargeTypeLoadType(int /*timeout_ms*/)
{
}
void DtcImpl::waitForHistoricalDataGearTypeChargeType(int /*timeout_ms*/)
{
}
void DtcImpl::waitForHistoricalDataBuildingChargeEffect(int /*timeout_ms*/)
{
}
// Additional enable methods for pdm_handler.cpp
void DtcImpl::enableGearType(bool /*enable*/)
{
}
void DtcImpl::enableGearTypeChargeType(bool /*enable*/)
{
}
void DtcImpl::enableTargetTypeTargetSubType(bool /*enable*/)
{
}
void DtcImpl::enableRadioGroup(bool /*enable*/)
{
}
void DtcImpl::enableVulnerabilityKind(bool /*enable*/)
{
}
void DtcImpl::enableBuildingChargeEffect(bool /*enable*/)
{
}
// Additional waitForHistoricalData methods for pdm_handler.cpp
void DtcImpl::waitForHistoricalDataTargetTypeTargetSubType(int /*timeout_ms*/)
{
}
void DtcImpl::waitForHistoricalDataRadioGroup(int /*timeout_ms*/)
{
}
void DtcImpl::waitForHistoricalDataVulnerabilityKind(int /*timeout_ms*/)
{
}
// Helper methods
QJsonObject DtcImpl::propertiesToJson(const std::string & /*properties*/)
{
return QJsonObject();
}
} // namespace Interface
} // namespace ProjectDataManagement
@@ -0,0 +1,399 @@
/**
* @file pdm_dtc_impl.h
* @brief Stub header for pdm_dtc_impl.h when BUILD_RTI=OFF
*
* This file provides stub definitions for the DtcImpl base class and related types
* that are normally generated by RTI DDS code generation.
*/
#pragma once
#include "pdm_types.h"
#include <QtCore/QString>
#include <QtCore/QVector>
#include <QtCore/QJsonObject>
#include <memory>
namespace DDSConnector
{
class DdsConnector;
}
namespace ProjectDataManagement
{
// Stub types not defined in pdm_types.h
enum class GearClass
{
None = 0,
PrimaryWeapon = 1,
SecondaryWeapon = 2,
Grenade = 3,
Mine = 4,
Other = 5
};
enum class VolatilityType
{
Unknown = 0,
Low = 1,
Medium = 2,
High = 3
};
enum class IgniterFunctionBase
{
IfbImpact = 0,
IfbProximity = 1,
IfbTime = 2,
IfbRemote = 3
};
struct CasEffect
{
int effectId = 0;
QString effectName;
};
struct SanitationProcedure
{
int procedureId = 0;
QString procedureName;
};
enum class ChargeTypeProperty : int
{
None = 0,
LRF = 1,
LTD = 2
};
// Use ChargeType from pdm_types.h, but we need a struct for DTC data
struct ChargeTypeData
{
int chargeTypeId = 0;
QString name;
QString shortName;
QString baseSuffix;
GearClass gearClass = GearClass::None;
QJsonObject properties;
};
struct IgniterType
{
int igniterTypeId = 0;
int id = 0;
QString name;
QString shortName;
QJsonObject properties;
bool operator==(const IgniterType &other) const
{
return igniterTypeId == other.igniterTypeId && id == other.id && name == other.name &&
shortName == other.shortName && properties == other.properties;
}
};
struct IgniterFunction
{
int igniterFunctionId = 0;
int id = 0;
QString name;
QString shortName;
QJsonObject properties;
};
struct LoadType
{
int loadTypeId = 0;
int id = 0;
QString name;
QString shortName;
QJsonObject properties;
bool operator==(const LoadType &other) const
{
return loadTypeId == other.loadTypeId && id == other.id && name == other.name &&
shortName == other.shortName && properties == other.properties;
}
};
struct TargetSubType
{
int targetSubTypeId = 0;
QString name;
bool operator==(const TargetSubType &other) const
{
return targetSubTypeId == other.targetSubTypeId && name == other.name;
}
};
struct ChargeTypeIgniterTypeIgniterFunction
{
int id = 0;
int chargeTypeId = 0;
int igniterTypeId = 0;
int igniterFunctionId = 0;
bool isSmoke = false;
bool isDus = false;
bool isConcrete = false;
int volatilityTypeId = 0;
IgniterFunctionBase igniterFunctionBase = IgniterFunctionBase::IfbImpact;
double impactRadius = 0.0;
double hazardDistance = 0.0;
int chargeLegacyId = 0;
QJsonObject properties;
};
struct ChargeTypeLoadType
{
int chargeTypeId = 0;
int loadTypeId = 0;
int id = 0;
QJsonObject properties;
};
struct GearType
{
int gearTypeId = 0;
QString name;
};
struct GearTypeChargeType
{
int gearTypeId = 0;
int chargeTypeId = 0;
};
enum class PdmBaseName : int
{
None = 0,
ChargeType = 1,
IgniterType = 2,
IgniterFunction = 3,
LoadType = 4,
TargetType = 5,
TargetSubType = 6,
GearType = 7,
FirePurpose = 8,
LanguageHmi = 9,
LanguageXdu = 10,
NuclearPreset = 11,
RadioGroup = 12,
VulnerabilityKind = 13,
SanitationMaterial = 14,
BiteComponent = 15,
CanComponent = 16
};
struct BuildingChargeEffect
{
int effectId = 0;
QString effectName;
};
namespace Interface
{
/**
* @brief Base class for DTC (Data Type Configuration) implementation
*
* This is a stub implementation used when BUILD_RTI=OFF.
* In production, this is generated by RTI DDS code generation.
*/
class DtcImpl : public QObject
{
Q_OBJECT
public:
explicit DtcImpl(QObject *parent = nullptr) : QObject(parent) {}
explicit DtcImpl(const std::shared_ptr<DDSConnector::DdsConnector> &ddsConnector, QObject *parent = nullptr) : QObject(parent) { Q_UNUSED(ddsConnector); }
virtual ~DtcImpl() = default;
// Custom procs - pure virtual methods that must be implemented by derived classes
virtual QVector<ChargeTypeData> chargesForGearClass(GearClass gearClass) = 0;
virtual QVector<IgniterType> ignitersForChargeType(int chargeTypeId) = 0;
virtual QVector<ChargeTypeIgniterTypeIgniterFunction> igniterFunctionsForChargeTypeIgniterType(int chargeTypeId, int igniterTypeId) = 0;
virtual QVector<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 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;
// 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;
// Data access methods
virtual ChargeTypeData chargeType(int chargeTypeId) = 0;
virtual IgniterType igniterType(int igniterTypeId) = 0;
virtual IgniterFunction igniterFunction(int igniterFunctionId) = 0;
virtual LoadType loadType(int loadTypeId) = 0;
virtual GearType gearType(int gearTypeId) = 0;
virtual int targetType(int targetTypeId) = 0;
virtual TargetSubType targetSubType(int targetSubTypeId) = 0;
// Collection getters
virtual QMap<int, ChargeTypeData> chargeTypes() = 0;
virtual QVector<IgniterType> igniterTypes() = 0;
virtual QVector<IgniterFunction> igniterFunctions() = 0;
virtual QVector<LoadType> loadTypes() = 0;
virtual QVector<GearType> gearTypes() = 0;
virtual QVector<int> targetTypes() = 0;
virtual QVector<TargetSubType> targetSubTypes() = 0;
virtual QVector<ChargeTypeIgniterTypeIgniterFunction> chargeTypeIgniterTypeIgniterFunctions() = 0;
virtual QVector<ChargeTypeLoadType> chargeTypeLoadTypes() = 0;
virtual QVector<GearTypeChargeType> gearTypeChargeTypes() = 0;
virtual QVector<BuildingChargeEffect> buildingChargeEffects() = 0;
// isEnabled checks
virtual bool isChargeTypeEnabled() = 0;
virtual bool isIgniterTypeEnabled() = 0;
virtual bool isIgniterFunctionEnabled() = 0;
virtual bool isLoadTypeEnabled() = 0;
virtual bool isGearTypeEnabled() = 0;
virtual bool isTargetTypeEnabled() = 0;
virtual bool isTargetSubTypeEnabled() = 0;
virtual bool isChargeTypeIgniterTypeIgniterFunctionEnabled() = 0;
virtual bool isChargeTypeLoadTypeEnabled() = 0;
virtual bool isGearTypeChargeTypeEnabled() = 0;
virtual bool isBuildingChargeEffectEnabled() = 0;
// enable* methods
virtual void enableIgniterType(bool enable) = 0;
virtual void enableChargeTypeIgniterTypeIgniterFunction(bool enable) = 0;
virtual void enableIgniterFunction(bool enable) = 0;
virtual void enableLoadType(bool enable) = 0;
virtual void enableChargeTypeLoadType(bool enable) = 0;
virtual void enableTargetType(bool enable) = 0;
virtual void enableTargetSubType(bool enable) = 0;
virtual void enableChargeType(bool enable) = 0;
virtual void enableGearType(bool enable) = 0;
virtual void enableGearTypeChargeType(bool enable) = 0;
virtual void enableTargetTypeTargetSubType(bool enable) = 0;
virtual void enableRadioGroup(bool enable) = 0;
virtual void enableVulnerabilityKind(bool enable) = 0;
virtual void enableBuildingChargeEffect(bool enable) = 0;
// waitForHistoricalData methods
virtual void waitForHistoricalDataChargeType(int timeout_ms) = 0;
virtual void waitForHistoricalDataIgniterType(int timeout_ms) = 0;
virtual void waitForHistoricalDataIgniterFunction(int timeout_ms) = 0;
virtual void waitForHistoricalDataLoadType(int timeout_ms) = 0;
virtual void waitForHistoricalDataGearType(int timeout_ms) = 0;
virtual void waitForHistoricalDataTargetType(int timeout_ms) = 0;
virtual void waitForHistoricalDataTargetSubType(int timeout_ms) = 0;
virtual void waitForHistoricalDataChargeTypeIgniterTypeIgniterFunction(int timeout_ms) = 0;
virtual void waitForHistoricalDataChargeTypeLoadType(int timeout_ms) = 0;
virtual void waitForHistoricalDataGearTypeChargeType(int timeout_ms) = 0;
virtual void waitForHistoricalDataBuildingChargeEffect(int timeout_ms) = 0;
virtual void waitForHistoricalDataTargetTypeTargetSubType(int timeout_ms) = 0;
virtual void waitForHistoricalDataRadioGroup(int timeout_ms) = 0;
virtual void waitForHistoricalDataVulnerabilityKind(int timeout_ms) = 0;
// Helper methods
virtual QJsonObject propertiesToJson(const std::string &properties) = 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;
virtual QString trRadioGroupName(int radioGroupId) = 0;
virtual QString trVulnerabilityKindName(int vulnerabilityKindId, VulnerabilityClass vulnerabilityClassId) = 0;
virtual QString trSanitationMaterialName(int sanitationMaterialId) = 0;
virtual QString trSanitationProcedureName(int sanitationProcedureId) = 0;
virtual QString trSanitationInjuryKindName(int sanitationInjuryKindId) = 0;
virtual QString trSanitationInjuryPlace1Name(int sanitationInjuryPlace1Id) = 0;
virtual QString trSanitationInjuryPlace2Name(int sanitationInjuryPlace2Id) = 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;
protected:
DtcImpl() = default;
};
} // namespace Interface
} // namespace ProjectDataManagement
@@ -0,0 +1,544 @@
#
# @RDE_HEADER@
# $Id$
# $HeadURL$
# $Author$
#
# use ";" in front to use the Default Values for the given entry
# use "true/false" or "1/0" for boolean values
#----------------#
# Global Options #
#----------------#
[Global]
# DatabaseHostname: Database Server Hostname to connect to
# -> Default: EXCDBS01
DatabaseHostname=localhost
# DatabaseName: Database to connect to on the DatabaseHostname
# -> Default: lts_ets_pro
DatabaseName=lts_ets_pro
# DomainId: DDS DomainId to use for every started Service
# DomainId must be between 1 and 232
# -> Default: last 8 Bits of the first ip adress found
;DomainId=42
# ServerHostname: Server Hostname to connect to for example: for svcReplayService
# -> Default: EXCTDS01
;ServerHostname=EXCTDS01
# LogPath: Path log4cxx should put LogFiles into
# user needs rights to access the directory
# -> Default: /shd/CTC/LOG
;LogPath=/shd/CTC/LOG
#---------------------------------#
#Options for Excercise Management #
#---------------------------------#
[ExerciseManagement]
# maxStartedExercises: Maximum Started Exercises
# Default -> 1
;maxStartedExercises=1
# maxPreparedExercises: Maximum Pepared Exercises
# Default -> 4
;maxPreparedExercises=4
# maxStoppedExercises: Maximum Stopped Exercises
# Default -> 5
;maxStoppedExercises=5
# maxHlaExercises: Maximum HLA Exercises
# Default -> 1
;maxHlaExercises=1
#--------------------------------#
#Options for Evaluation Database #
#--------------------------------#
[EvaluationDb]
# DatabaseHostname: Database Hostname to Access
# Default -> "EXCADB01"
;DatabaseHostname = "EXCADB01"
# DatabaseName: Database Name to Access
# Default -> "dbAdmin"
;DatabaseName = "dbAdmin"
#---------------------------------------#
#Options for Central Effect Simulations #
#---------------------------------------#
[CES]
# geopairingIniPath: Path where the GeoParing Ini Files are located
;geopairingIniPath=/shd/CTC/TOOLS/TDS/TDS-build/bin/GeoPairing/firingTables
# geopairingIniFile: Name of the GeoParing Ini File
;geopairingIniFile=GeoPairing.ini
# ammunitionIniFile: Name of the Ammunition Ini File
;ammunitionIniFile=Ammunition.ini
# cesCheatingDistanceVehicle: maximum Cheating Distance for Vehicles in CES
;cesCheatingDistanceVehicle=20
# cesCheatingDistanceSoldier: maximum Cheating Distance for Soldiers in CES
;cesCheatingDistanceSoldier=5
# calculateCentralAes: enable Central Area Effect Simulation
# 0 = OFF
# 1 = AES calculation ON
# 2 = AES calculation ONLY in WLS-Areas
# Default -> 0
;calculateCentralAes=0 :
calculateCentralAes=1
# handleBlockedAreas: enable handling of Blocked Areas
# Default -> false
handleBlockedAreas=false
# Settings for Artillerie-Sounds:
# playArtillerieSounds: Enable Artillery Sounds
# Default -> 0
playArtillerieSounds=1
# user: Username for Artillerie Sounds
user="katar"
# passwd: Password for Artillerie Sounds
passwd="mout11de"
# distanceThreshold: distanceThreshold for CES Artillerie Sound
# Default -> 1.415
distanceThreshold=1.415
# factor: Volume factor for CES Artillerie Sounds
# Default -> 15.05
factor=15.05
# soundId: SoundId to play on Artillere Hit
# Default -> 1
soundId=1
# reduceFactor: reduceFactor for Artillerie Sounds
# 1.0 = 100 percent
# Default -> 1.0
reduceFactor=1.0 ; for Tests 1.0 = 100 percent
#-----------------------------------#
# Settings for CES-Plugins #
#-----------------------------------#
[CES_MINE_AREAS]
# older entries of mines are outdated
#PeriodStoredMinesOutdated=5000
#-----------------------------------#
# Settings for AreaEffectSimulation #
#-----------------------------------#
[AES]
# use2BytesForSingleFireDiameter:
# Default = 1
use2BytesForSingleFireDiameter=1
# geopairingIniPath: path where the geoparing Ini Files are located
# Default -> "./GeoPairing/firingTables"
geopairingIniPath="./GeoPairing/firingTables"
# geopairingIniFile: GeoParing Ini File in AES
# Default -> "GeoPairing.ini"
geopairingIniFile="GeoPairing.ini"
# ammunitionIniFile: Ammunition file name for GeoParing in AES
# Default -> "Ammunition.ini"
ammunitionIniFile="Ammunition.ini"
# DusSingleMineEffectStartOffset=30 * 1000 // 30 seconds default
# Default -> 30 seconds default
# ActivationTimeAfterStopSupplyTruck Time that a Supply Truck must have been stationary before the functional Area becomes active.
# Default -> 5000 [ms]
# ActivationTimeAfterStopSupplyTruck=5000
# MaximumStepLengthStanding: Radius in which the vehicle is detected as stationary.
# Default -> 20 [m]
# MaximumStepLengthStanding=20
#----------------------------#
# Settings for FireAutomaton #
#----------------------------#
[FIRE_PATTERN]
# Effector pattern for the fire automaton
# Default -> "next"
# pattern_id = pattern_string
0 = "next"
#--------
# Effects
#--------
# Confluence->Legatus->03_PROJEKTE->ADLER III Anbindung ->Konzepte->ADLER-generierte Steilfeuer->State-Machine Effector
#
#Default = 10 s ( 10 * 1000)
#The timer is not used for negative values.
;EffectorIntervalFireMin=10000
#Default = 15 s ( 15 * 1000)
;EffectorIntervalFireMax=15000
#Default = 10 s ( 10 * 1000)
#The timer is not used for negative values.
;EffectorIntervalReportFiredMin=10000
#Default = 15 s ( 15 * 1000)
;EffectorIntervalReportFiredMax=15000
#Default = 10 s ( 10 * 1000)
#The timer is not used for negative values.
;EffectormIntervalReportFireReadinessMin=10000
#Default = 15 s ( 15 * 1000)
;EffectormIntervalReportFireReadinessMax=15000
#Default = 10 s ( 10 * 1000)
#The timer is not used for negative values.
;getEffectorInitialReportFireReadinessMin=10000
#Default = 15 s ( 15 * 1000)
;getEffectorInitialReportFireReadinessMax=15000
#---------------------------------------#
#Options for Central Effect Simulations #
#---------------------------------------#
[EEM]
# cleanupTimeout: timeout in ms for cleanup AVS events
# Default -> 600000
cleanupTimeout = 0
#------------------#
# Settings for HLA #
#------------------#
[hla]
# webSocketListenPort: HLA Websocket Port
# Default -> 12347
;webSocketListenPort=12347
# webSocketHostname: HLA Websocket hostname to connect to
# Default -> "localhost"
;webSocketHostname="localhost"
#-------------------------#
# Settings for GueZ Nasat #
#-------------------------#
[GNA]
# socketListenPort: GNA Listen Port
# Default -> 8420
;socketListenPort= 8420
# useWebSocket: Enable GNA Websocket
# Default -> false
;useWebSocket = false
# simulationPosLatDegree: GNA simulated Position Lat in Degree
# Default -> 11.560
;simulationPosLatDegree=11.560
# simulationPosLonDegree: GNA simulated Position Lon in Degree
# Default -> 52.457
;simulationPosLonDegree=52.457
#------------------------------#
# Settings for AVS Workstation #
#------------------------------#
[AVS_WORKSTATION]
# host: AVS Workstation host to connect to
# Default -> localhost
;host = localhost
# port: AVS Workstation Port to connect to
# Default -> 6370
;port = 6370
# KeepAlive: enable KeepAlive Signals to AVS
# Default -> true
;KeepAlive = true
# Timeout: Timeout time in ms
# 0 :disable
# Default -> 3000
;Timeout = 3000
#------------------------------------------#
# Settings for AVS Workstation VD (Export) #
#------------------------------------------#
[AVS_WORKSTATION_VD]
# host: AVS Workstation VD host to connect to
# Default -> localhost
;host = localhost
# port: AVS Workstation VD Port to connect to
#Default -> 6380
;port = 6380
# KeepAlive: enable KeepAlive Signals to AVS VD
# Default -> true
;KeepAlive = true
# Timeout: Timeout time in ms VD
# 0 :disable
# Default -> 60000
;Timeout = 3000
#--------------------------------#
# Options for Training Area Base #
#--------------------------------#
[TrainingAreaBase]
# TimeDelayAhead: Time Delay max ahead in ms where topics are send to dds from TAB
# Default -> 60000
;TimeDelayAhead=60000
# TimeDelayBack: Time Delay max back in ms where topics are send to dds from TAB
# Default -> 60000
;TimeDelayBack=60000
# UseTetraScrambling: enable Tetra Scrambling for Training Area Base
# Default -> BUILD GUEZ_MODE = true
# Default -> NO GUEZ MODE = false
;UseTetraScrambling=false
# UsePvSan: enable PVSan functionality for TAB (add 2 Bytes to INIT BE CAREFULL!)
# Default -> false
;UsePvSan=false
#############################
# IPS/OPS GPS transition
# DistanceIpsToGps=0 Distance of the first GPS coordinate to the building after an IPS position default = 0 [m] (int)
# DistanceOpsToGps=0 Distance of the first GPS coordinate to the building after an OPS position default = 0 [m] (int)
# MaxSoldierSpeed=4.0 fastest plausible speed of a soldier when transitioning from IPS/OPS to GPS [m/s] (double)
# MaxSpeedCheckTimeout=10 Time in which the speed-plausibility check is made [s] (int). After that, the GPS reports are valid again
#-------------------------------------#
# Settings for TrainingAreaBaseOc #
#-------------------------------------#
[TabOC]
# remoteServerHostname: servername to connect the websocket to get portfinformation and ppmEX port
# Default -> "EXCTDS01"
;remoteServerHostname="EXCTDS01"
#-------------------------------------#
# Settings for Oc Base Download #
#-------------------------------------#
[OcBaseDownload]
# remoteDbName: Remote DB Name to Download from
# Default -> lts_ets_pro
;remoteDbName="lts_ets_pro"
# remoteDbHostName: Remote Hostname to Download from
# Default -> EXCDBS01
;remoteDbHostName="EXCDBS01"
#-------------------------------------#
# Settings for Audio Video Management #
#-------------------------------------#
[AVM]
# addacServerNamePrefix: ADDAC Servername Prefix
# Default -> ECCORIF
;addacServerNamePrefix="ECCORIF"
# addacPortsPerServer: ADDAC Ports per Server
# Default -> 16
;addacPortsPerServer=16
#-------------------------------------#
# Settings for Participant Management #
#-------------------------------------#
[PPM]
# markVehiclesAsReservedFromExcon: enable mark Vehicles as Reserves
# Default -> true
;markVehiclesAsReservedFromExcon=true
#--------------------------------#
# Settings for Target Management #
#--------------------------------#
[TGT]
# useL400Targets: enable L400 Target calculation
# Default -> false
;useL400Targets = false
#-----------------------------------#
# Settings for Recording Management #
#-----------------------------------#
[RecordingManagement]
# UpdateFrequency: Update Frequency in ms to write into recording tables
# Default -> 1000
;UpdateFrequency = 1000
#----------------------------------------------#
# Options for Wireless Location System Service #
#----------------------------------------------#
[WLS]
# wlsListenPort: Port to listen to for WLS Connections
# Default -> 12002
;wlsListenPort=12002
# webSocketListenPort: set Websocket Listen Port for WLS
# Default -> 123456
;webSocketListenPort=12346
# wlsBasePoint: BasePoint for WLS Position Calculations
# MGRS format <Zone> <Band> <Square Identifier> <Easting> <Northing>
# Default -> 32UMD0000000000000000
;wlsBasePoint=32UMD0000000000000000
# wlsZOffset: Z offset for WLS Positions
# Default -> 0
;wlsZOffset=0
# squareDistanceMax: squared maximum distance before sending to ppm
# Default -> 0.0
#squareDistanceMax=0.0
#-----------------------------------------#
# Options for BuildingControlUnit Service #
#-----------------------------------------#
[BuildingControlUnit]
# fireThreshold:
# Default -> 70
;fireThreshold=70
# killThreshold: Threshold destruction until Building is destroyed
# Default -> 80
;killThreshold=80
# effectSoundIdEccActivate: Activate Sound Id to play
# Default -> 0
;effectSoundIdEccActivate=0
# effectSoundIdEccDestroy: Destroy Sound Id to play
# Default -> 1
;effectSoundIdEccDestroy=1
# hitSoundVolume: Volume for Hit Sound
# Volume in Percent from 0-100
# Default - > 100
;hitSoundVolume=100
# activationSoundId: Activation sound to play on building init
# Default -> 0
;activationSoundId=0
# activationSoundVolume: Activations Sounds Volume
# Volume in Percent from 0-100
# Default - > 100
;activationSoundVolume=100
# fireSoundId: Fire sound to play on building hit
# Default -> 4
;fireSoundId=4
# fireSoundVolume: Volume for Fire Sound
# Volume in Percent from 0-100
# Default - > 100
;fireSoundVolume=100
# fireSoundCategory: Sound Categories
# OTHER VALUES???
# Default -> Inside_buildings
;fireSoundCategory=Inside_buildings
# minimumRemainEffectThreshold: Threshold until hits get relayed to neighbouring rooms
#Default -> 10
minimumRemainEffectThreshold=1
# transitionMultiplier: Force Multiplier for every building hit
# Default -> 3.0
;transitionMultiplier=3.0
# numberOfFlashes: Numbers of flashes or groups per hit
# 0 - 254 : Number of flashes (or groups)
# 255 : infinte flashes
# Default -> 10
;numberOfFlashes=10
# pauseDuration: Pause between two flashes (or Groups) in Seconds
# 1 - 10
# Default -> 1
;pauseDuration=1
# choppedConfiguration: Number of Single Flash Pulses inside a group
# 0 - 1 : NO chopped flash
# 2 - 20: Number of flashes
# Default -> 10
;choppedConfiguration=10
# flashDuration: Duration in ms for Building Sensor Module flashes
# Default -> 30
;flashDuration=30
# laserRangeCode: Laser Code to ignore when handling Laser Hits on Building
# Default -> 2178
;laserRangeCode=2178
#------------------------------#
# Options for Sound Management #
#------------------------------#
[SOM]
# user: Username to use for SOM
# Default -> "katar"
;user="katar"
# passwd: Password to use for SOM
# Default -> "Mout11de"
;passwd="mout11de"
#-------------------------------#
# Options for ServiceManagement #
#-------------------------------#
[ServiceManagement]
# ObserverIntervall: Time in ms the ServiceManagement waits for a Service's Heartbeat until it's restarts the Service
# Default -> 10000 (10 Seconds)
;ObserverIntervall=10000
#------------------------------------#
# Options for NotificationManagement #
#------------------------------------#
[NOM]
# expiryIntervalMSec: default 2 tage
# notificationPriority: Highest = 1, High = 2, Normal = 3, Low = 4
expiryIntervalMSec=172800000
notificationPriority=2
#-------------------------------#
# Options for db Administration #
#-------------------------------#
[dbAdministration]
# DatabaseHostname: Database Hostname to connect to
# Default -> "EXCDBS01"
;DatabaseHostname="EXCDBS01"
# DatabaseName: Database name to connect to
# Default -> "lts_ets_pro"
;DatabaseName="lts_ets_pro"