Migrates AreaEffectSimulation to generated rtiddsgen API

Converts accessor calls to plain member access across aes service and plugin.
This commit is contained in:
berrux-dev committed 2026-09-21 02:45:07 +02:00
1 parent e8d07af320
commit 472f537313
102 files changed
+3307 -3313

No files matched your search

@@ -23,7 +23,7 @@ namespace AreaEffectSimulation
{
HandlerExplosionCluster::HandlerExplosionCluster(MainHandler *mainHandler)
: HandlerBaseTmpl<ObjectExplosionCluster>(mainHandler, QStringLiteral("HandlerExplosionCluster"), s_areaCount[AesType::AtExplosionCluster], s_areaCountCentral[AesType::AtExplosionCluster])
: HandlerBaseTmpl<ObjectExplosionCluster>(mainHandler, QStringLiteral("HandlerExplosionCluster"), s_areaCount[static_cast<int>(AesType::AtExplosionCluster)], s_areaCountCentral[static_cast<int>(AesType::AtExplosionCluster)])
, Interface::Fts::ExplosionClusterModifyRequestHandler(mainHandler->dds()->fts())
, Interface::Fts::ExplosionClusterSingleEffectOnlyModifyRequestHandler(mainHandler->dds()->fts())
, Interface::Fts::ExplosionClusterOcModifyRequestHandler(mainHandler->dds()->fts())
@@ -68,7 +68,7 @@ bool HandlerExplosionCluster::init()
return true;
}
}
else if (totalAreas() >= s_maxActiveAreas[AesType::AtExplosionCluster])
else if (totalAreas() >= s_maxActiveAreas[static_cast<int>(AesType::AtExplosionCluster)])
{
ERROR_LOG(m_logger) << "More active explosion areas in database than allowed - ignoring the rest!";
ifs->removeObject();
@@ -78,7 +78,7 @@ bool HandlerExplosionCluster::init()
}
else
{
if (totalAreasCentral() >= (s_maxActiveAreasCentral[AesType::AtExplosionCluster]))
if (totalAreasCentral() >= (s_maxActiveAreasCentral[static_cast<int>(AesType::AtExplosionCluster)]))
{
ERROR_LOG(m_logger) << "More active explosion areas in database than allowed - ignoring the rest!";
ifs->removeObject();
@@ -114,41 +114,41 @@ bool HandlerExplosionCluster::init()
int HandlerExplosionCluster::totalAreas() const
{
return s_areaCount[AesType::AtExplosionCluster];
return s_areaCount[static_cast<int>(AesType::AtExplosionCluster)];
}
int HandlerExplosionCluster::totalAreasCentral() const
{
return s_areaCountCentral[AesType::AtExplosionCluster] ;
return s_areaCountCentral[static_cast<int>(AesType::AtExplosionCluster)] ;
}
static void fillData(const ExplosionClusterModifyRequest &src, Database::AesExplosionCluster &dst, MainHandler *mainHandler)
{
if (src.id() < 0) // is the id given as negative? set id -> used by OC-Laptop
dst.id = src.id();
if (src.id < 0) // is the id given as negative? set id -> used by OC-Laptop
dst.id = src.id;
dst.name = QString::fromStdString(src.name());
dst.element = QString::fromStdString(src.element());
dst.name = QString::fromStdString(src.name);
dst.element = QString::fromStdString(src.element);
dst.impactPosition.rx() = src.area().cornerBottomLeft().lon();
dst.impactPosition.ry() = src.area().cornerBottomLeft().lat();
dst.impactLength = src.area().height();
dst.impactWidth = src.area().width();
dst.rotationAngle = src.area().rotation();
dst.impactPosition.rx() = src.area.cornerBottomLeft.lon;
dst.impactPosition.ry() = src.area.cornerBottomLeft.lat;
dst.impactLength = src.area.height;
dst.impactWidth = src.area.width;
dst.rotationAngle = src.area.rotation;
const bool bIsPointSimilar = (src.explosionGeometry() == AreaEffectSimulation::AesExplosionGeometry_def::EgAimPoint) ||
(src.explosionGeometry() == AreaEffectSimulation::AesExplosionGeometry_def::EgPoint);
const bool bIsPointSimilar = (src.explosionGeometry == AreaEffectSimulation::AesExplosionGeometry::EgAimPoint) ||
(src.explosionGeometry == AreaEffectSimulation::AesExplosionGeometry::EgPoint);
if (bIsPointSimilar && ((src.area().width() <= 0) || (src.area().height() <= 0)))
if (bIsPointSimilar && ((src.area.width <= 0) || (src.area.height <= 0)))
{
const Core::GeoPosition2D &cornerBottomLeft = src.area().cornerBottomLeft();
const double impactDiameter = mainHandler->dds()->pdmDtc()->impactRadius(src.chargeStruct().chargeTypeId(),
src.chargeStruct().igniterTypeId(),
src.chargeStruct().igniterFunctionId()) * 2.0; // GUEZE-2634
const Core::GeoPosition2D &cornerBottomLeft = src.area.cornerBottomLeft;
const double impactDiameter = mainHandler->dds()->pdmDtc()->impactRadius(src.chargeStruct.chargeTypeId,
src.chargeStruct.igniterTypeId,
src.chargeStruct.igniterFunctionId) * 2.0; // GUEZE-2634
const QPointF bottomLeft(Polygons::centerPoint2BottomLeft(QPointF(cornerBottomLeft.lon(), cornerBottomLeft.lat()),
const QPointF bottomLeft(Polygons::centerPoint2BottomLeft(QPointF(cornerBottomLeft.lon, cornerBottomLeft.lat),
impactDiameter, impactDiameter, 0));
dst.impactPosition.rx() = bottomLeft.x();
@@ -157,49 +157,49 @@ static void fillData(const ExplosionClusterModifyRequest &src, Database::AesExpl
dst.impactWidth = impactDiameter;
}
dst.explosionGeometryId = src.explosionGeometry();
dst.zog = src.tla();
dst.explosionGeometryId = src.explosionGeometry;
dst.zog = src.tla;
dst.effectStart = src.effectStart().is_set() && src.effectStart().get() > 0 ? QDateTime::fromMSecsSinceEpoch(src.effectStart().get()) : QDateTime();
dst.effectDuration = src.effectDuration();
dst.effectSourceId = src.effectSourceId();
dst.effectStart = src.effectStart.is_set() && src.effectStart.get() > 0 ? QDateTime::fromMSecsSinceEpoch(src.effectStart.get()) : QDateTime();
dst.effectDuration = src.effectDuration;
dst.effectSourceId = src.effectSourceId;
dst.chargeTypeId = src.chargeStruct().chargeTypeId();
dst.igniterTypeId = src.chargeStruct().igniterTypeId();
dst.igniterFunctionId = src.chargeStruct().igniterFunctionId();
dst.firePurposeId = src.firePurposeId();
dst.chargeTypeId = src.chargeStruct.chargeTypeId;
dst.igniterTypeId = src.chargeStruct.igniterTypeId;
dst.igniterFunctionId = src.chargeStruct.igniterFunctionId;
dst.firePurposeId = src.firePurposeId;
dst.partyId = src.partyId().is_set() ? src.partyId().get() : 0;
dst.participantId = src.participantId().is_set() ? src.participantId().get() : -1; // -1 -> avoid trajectory
dst.partyId = src.partyId.is_set() ? src.partyId.get() : 0;
dst.participantId = src.participantId.is_set() ? src.participantId.get() : -1; // -1 -> avoid trajectory
// dst.firingGeoPosition // not provided, has to be retrieved from dds
dst.impactCount = src.impactCount();
dst.mhpCountRequest = src.mhpCount();
if (src.mhpRotation().is_set())
dst.mhpRotationRequest = src.mhpRotation().get();
dst.impactCount = src.impactCount;
dst.mhpCountRequest = src.mhpCount;
if (src.mhpRotation.is_set())
dst.mhpRotationRequest = src.mhpRotation.get();
else
dst.mhpRotationRequest = ObjectExplosionCluster::s_invalid_rotation_angle;
dst.altitude = -1;
dst.peakHeight = src.peakHeight();
dst.flightDuration = src.flightDuration();
dst.peakHeight = src.peakHeight;
dst.flightDuration = src.flightDuration;
// dst.originatorId = src.o();
// dst.firePurpose = QString::fromStdString(src.purpose());
// dst.fireRequestTime = QDateTime::fromMSecsSinceEpoch(src.fireRequestTime());
dst.effectMarkingInTa = src.effectMarkingInTa();
dst.externalId = src.externalId().is_set() ? src.externalId().get() : 0;
dst.effectMarkingInTa = src.effectMarkingInTa;
dst.externalId = src.externalId.is_set() ? src.externalId.get() : 0;
dst.launchVelocity = src.launchVelocity();
dst.launchAngleDeg = src.launchAngleDeg();
dst.dropAngle = src.dropAngle();
dst.launchVelocity = src.launchVelocity;
dst.launchAngleDeg = src.launchAngleDeg;
dst.dropAngle = src.dropAngle;
dst.tapTimepoint = src.tapTime();
dst.lcPrf = src.lcAttack();
dst.lcTermination = src.lcTermination();
dst.cloudBase = src.cloudBase();
dst.properties = QString::fromStdString(src.properties());
dst.esmParticipantIds = LtsUtils::IntArray(src.esmParticipantIds());
dst.tapTimepoint = src.tapTime;
dst.lcPrf = src.lcAttack;
dst.lcTermination = src.lcTermination;
dst.cloudBase = src.cloudBase;
dst.properties = QString::fromStdString(src.properties);
dst.esmParticipantIds = LtsUtils::IntArray(src.esmParticipantIds);
}
void HandlerExplosionCluster::onExplosionClusterModifyRequest(const rti::core::SampleIdentity &cookie,
@@ -209,8 +209,8 @@ void HandlerExplosionCluster::onExplosionClusterModifyRequest(const rti::core::S
Core::FunctionReplyObject ret = explosionClusterModifyRequest(cookie, request);
if (ret.error())
WARNING_LOG(m_logger) << ret()
<< ", effectStart :" << request.effectStart();
ret.setAdditionalInfo(request.properties().c_str());
<< ", effectStart :" << request.effectStart;
ret.setAdditionalInfo(request.properties.c_str());
m_mainHandler->dds()->fts()->explosionClusterModifyReply(cookie, ret);
}
@@ -224,35 +224,35 @@ void HandlerExplosionCluster::onExplosionClusterSingleEffectOnlyModifyRequest(co
ExplosionClusterModifyRequest ecCommonModifyRequest;
ecCommonModifyRequest.id(request.id());
ecCommonModifyRequest.externalId(request.externalId());
ecCommonModifyRequest.id = request.id;
ecCommonModifyRequest.externalId = request.externalId;
ecCommonModifyRequest.effectStart(request.effectStart());
ecCommonModifyRequest.effectDuration(1000);
ecCommonModifyRequest.effectStart = request.effectStart;
ecCommonModifyRequest.effectDuration = 1000;
// charge and geometry:
ecCommonModifyRequest.explosionGeometry(AreaEffectSimulation::AesExplosionGeometry_def::EgPoint);
ecCommonModifyRequest.explosionGeometry = AreaEffectSimulation::AesExplosionGeometry::EgPoint;
// ecCommonModifyRequest.zog(0);
int igniterTypeId = 102; // from pdm_igniter_type (Impact Default)
ecCommonModifyRequest.chargeStruct().igniterTypeId(igniterTypeId);
ecCommonModifyRequest.chargeStruct().chargeTypeId(request.chargeTypeId());
ecCommonModifyRequest.chargeStruct.igniterTypeId = igniterTypeId;
ecCommonModifyRequest.chargeStruct.chargeTypeId = request.chargeTypeId;
// height, width are <=0 -> area will be adjusted using impactRadius of charge:
ecCommonModifyRequest.area().cornerBottomLeft(request.impactPosition());
ecCommonModifyRequest.area().height(0);
ecCommonModifyRequest.area().width(0);
ecCommonModifyRequest.area.cornerBottomLeft = request.impactPosition;
ecCommonModifyRequest.area.height = 0;
ecCommonModifyRequest.area.width = 0;
ecCommonModifyRequest.mhpCount(1);
ecCommonModifyRequest.impactCount(1);
ecCommonModifyRequest.mhpCount = 1;
ecCommonModifyRequest.impactCount = 1;
ecCommonModifyRequest.name(request.name()); // ZpNummer
ecCommonModifyRequest.element(request.element()); // element
ecCommonModifyRequest.name = request.name; // ZpNummer
ecCommonModifyRequest.element = request.element; // element
ecCommonModifyRequest.partyId(request.partyId());
ecCommonModifyRequest.participantId(-1); // -1 -> avoid trajectory
ecCommonModifyRequest.partyId = request.partyId;
ecCommonModifyRequest.participantId = -1; // -1 -> avoid trajectory
@@ -273,33 +273,33 @@ void HandlerExplosionCluster::onExplosionClusterOcModifyRequest(const rti::core:
ExplosionClusterModifyRequest ecCommonModifyRequest;
ecCommonModifyRequest.id(request.id());
ecCommonModifyRequest.id = request.id;
//ecCommonModifyRequest.externalId(request.externalId());
ecCommonModifyRequest.effectStart(request.effectStart());
ecCommonModifyRequest.effectDuration(request.effectDuration());
ecCommonModifyRequest.effectStart = request.effectStart;
ecCommonModifyRequest.effectDuration = request.effectDuration;
// charge and geometry:
ecCommonModifyRequest.area(request.area());
ecCommonModifyRequest.area = request.area;
if (request.impactCount() == 1)
ecCommonModifyRequest.explosionGeometry(AreaEffectSimulation::AesExplosionGeometry_def::EgPoint);
if (request.impactCount == 1)
ecCommonModifyRequest.explosionGeometry = AreaEffectSimulation::AesExplosionGeometry::EgPoint;
else
ecCommonModifyRequest.explosionGeometry(AreaEffectSimulation::AesExplosionGeometry_def::EgArea);
ecCommonModifyRequest.explosionGeometry = AreaEffectSimulation::AesExplosionGeometry::EgArea;
// ecCommonModifyRequest.zog(0);
ecCommonModifyRequest.mhpCount(request.mhpCount());
ecCommonModifyRequest.impactCount(request.impactCount());
ecCommonModifyRequest.mhpRotation(request.mhpRotation());
ecCommonModifyRequest.mhpCount = request.mhpCount;
ecCommonModifyRequest.impactCount = request.impactCount;
ecCommonModifyRequest.mhpRotation = request.mhpRotation;
// was FtImpact
ecCommonModifyRequest.chargeStruct().igniterTypeId(request.chargeStruct().igniterTypeId());
ecCommonModifyRequest.chargeStruct().chargeTypeId(request.chargeStruct().chargeTypeId());
ecCommonModifyRequest.chargeStruct.igniterTypeId = request.chargeStruct.igniterTypeId;
ecCommonModifyRequest.chargeStruct.chargeTypeId = request.chargeStruct.chargeTypeId;
ecCommonModifyRequest.name(request.name()); // ZpNummer
ecCommonModifyRequest.element(ecCommonModifyRequest.element()); // element
ecCommonModifyRequest.name = request.name; // ZpNummer
ecCommonModifyRequest.element = ecCommonModifyRequest.element; // element
ecCommonModifyRequest.partyId(request.partyId());
ecCommonModifyRequest.partyId = request.partyId;
// ecCommonModifyRequest.participantId(-1); // -1 -> avoid trajectory
// ToDo: no trajectory needed, but how can we transfer the rotation of MhpAreas?
@@ -320,26 +320,26 @@ Core::FunctionReplyObject HandlerExplosionCluster::explosionClusterCreateRequest
// HLA Interface is using externalId...
// external (externalId>0) -> no partyId required
// external (externalId==0) -> partyId required
const int externalIdValue = request.externalId().is_set() ? request.externalId().get() : 0;
const ProjectDataManagement::GearClass gearClass = m_mainHandler->gearClassOfChargeTypeId(request.chargeStruct().chargeTypeId());
const int externalIdValue = request.externalId.is_set() ? request.externalId.get() : 0;
const ProjectDataManagement::GearClass gearClass = m_mainHandler->gearClassOfChargeTypeId(request.chargeStruct.chargeTypeId);
const bool bDoClaimPlannedCharge = (request.id() == 0) &&
const bool bDoClaimPlannedCharge = (request.id == 0) &&
(externalIdValue==0) &&
(gearClass != ProjectDataManagement::GearClass_def::AirSupport);
(gearClass != ProjectDataManagement::GearClass::GearClass_AirSupport);
if (bDoClaimPlannedCharge)
{
int chargeNeeded = request.impactCount();
int chargeNeeded = request.impactCount;
if (chargeNeeded <= 0)
return Core::FunctionReplyObject(tr_lts("dds", "Invalid impact count (<= 0)."));
if (request.id() == 0)
if (request.id == 0)
{
int chargeLeft = m_mainHandler->chargeAdministrationHandler()->availableCharge(request.chargeStruct().chargeTypeId(), request.partyId().get());
int chargeLeft = m_mainHandler->chargeAdministrationHandler()->availableCharge(request.chargeStruct.chargeTypeId, request.partyId.get());
QString chargeName= QString::fromStdString(m_mainHandler->dds()->pdmDtc()->chargeType(request.chargeStruct().chargeTypeId()).name());
QString chargeName= QString::fromStdString(m_mainHandler->dds()->pdmDtc()->chargeType(request.chargeStruct.chargeTypeId).name);
QString fireUnitName;
if (request.participantId().is_set())
fireUnitName = QString::fromStdString(m_mainHandler->dds()->ppmDtc()->participant(request.participantId().get()).designator());
if (request.participantId.is_set())
fireUnitName = QString::fromStdString(m_mainHandler->dds()->ppmDtc()->participant(request.participantId.get()).designator);
if (chargeNeeded > chargeLeft)
return Core::FunctionReplyObject(tr_lts("dds", "Invalid impact count. Fire Unit '%1' has %2 charges (%3), but for this cluster %4 are needed."))
@@ -353,11 +353,11 @@ Core::FunctionReplyObject HandlerExplosionCluster::explosionClusterCreateRequest
Database::AesExplosionCluster newData;
fillData(request, newData, m_mainHandler);
if (!request.properties().empty() &&
(!request.effectStart().is_set() ||
request.effectStart().get() == 0))
if (!request.properties.empty() &&
(!request.effectStart.is_set() ||
request.effectStart.get() == 0))
{
QJsonObject propertiesObject = QJsonDocument::fromJson(QByteArray::fromStdString(request.properties())).object();
QJsonObject propertiesObject = QJsonDocument::fromJson(QByteArray::fromStdString(request.properties)).object();
newData.isUsingEffectStateReceived = propertiesObject.value(QStringLiteral("useReceived")).toBool();
}
@@ -368,7 +368,7 @@ Core::FunctionReplyObject HandlerExplosionCluster::explosionClusterCreateRequest
connect(ifs, &ObjectExplosionCluster::effectStateChanged, this, &HandlerExplosionCluster::onEffectStateChanged);
// Context NASAT: check via chargeTypeId:
const ProjectDataManagement::GearClass gc = m_mainHandler->dds()->pdmDtc()->gearClassFromChargeTypeId(request.chargeStruct().chargeTypeId());
const ProjectDataManagement::GearClass gc = m_mainHandler->dds()->pdmDtc()->gearClassFromChargeTypeId(request.chargeStruct.chargeTypeId);
const bool bChargeIsAirSupport = gc == ProjectDataManagement::GearClass::GearClass_AirSupport;
ifs->setAirSupportSource(bChargeIsAirSupport);
@@ -395,7 +395,7 @@ Core::FunctionReplyObject HandlerExplosionCluster::explosionClusterCreateRequest
return Core::FunctionReplyObject(1, tr_lts("dds", "Too many active air supports."));
}
}
else if (totalAreasCentral() >= (s_maxActiveAreasCentral[AesType::AtExplosionCluster]) + (s_currentAirSupportCount) && request.effectStart().is_set())
else if (totalAreasCentral() >= (s_maxActiveAreasCentral[static_cast<int>(AesType::AtExplosionCluster)]) + (s_currentAirSupportCount) && request.effectStart.is_set())
{
ifs->removeObject(); //Not finally deleted from db after this,Fallback if DB deletion is not working correct
ifs->removeObjectFromDb();
@@ -405,9 +405,9 @@ Core::FunctionReplyObject HandlerExplosionCluster::explosionClusterCreateRequest
}
else
{
DEBUG_LOG(m_logger) << "New dec ExplosionCluster: " << totalAreas() << " Max: " << s_maxActiveAreas[AesType::AtExplosionCluster] << " Is Set: " << request.effectStart().is_set();
DEBUG_LOG(m_logger) << "New dec ExplosionCluster: " << totalAreas() << " Max: " << s_maxActiveAreas[static_cast<int>(AesType::AtExplosionCluster)] << " Is Set: " << request.effectStart.is_set();
if (totalAreas() >= (s_maxActiveAreas[AesType::AtExplosionCluster]) && request.effectStart().is_set())
if (totalAreas() >= (s_maxActiveAreas[static_cast<int>(AesType::AtExplosionCluster)]) && request.effectStart.is_set())
{
ifs->removeObject(); //Not finally deleted from db after this,Fallback if DB deletion is not working correct
ifs->removeObjectFromDb();
@@ -446,21 +446,21 @@ Core::FunctionReplyObject HandlerExplosionCluster::explosionClusterModifyRequest
// // externalId maybe set be HLA interface:
// // from external (externalIdValue>0) -> no partyId required
// // from internal (externalIdValue==0) -> partyId required
// const int externalIdValue = request.externalId().is_set() ? request.externalId().get() : 0;
// if (externalIdValue == 0 && !request.partyId().is_set())
// const int externalIdValue = request.externalId.is_set() ? request.externalId.get() : 0;
// if (externalIdValue == 0 && !request.partyId.is_set())
// return Core::FunctionReplyObject(tr_lts("dds", "Explosion areas need a party id."));
DEBUG_LOG(m_logger) << "request.effectStart :" << request.effectStart()
<< ", effectDuration :" << request.effectDuration()
<< ", flightDuration :" << request.flightDuration()
<< ", tapTime :" << request.tapTime()
<< ", properties: " << request.properties();
DEBUG_LOG(m_logger) << "request.effectStart :" << request.effectStart
<< ", effectDuration :" << request.effectDuration
<< ", flightDuration :" << request.flightDuration
<< ", tapTime :" << request.tapTime
<< ", properties: " << request.properties;
Core::FunctionReplyObject ret;
if (request.id() == 0 || ((request.id() < 0) && !getObjectFromMap(m_objectMap, std::abs(request.id()), ret)))
if (request.id == 0 || ((request.id < 0) && !getObjectFromMap(m_objectMap, std::abs(request.id), ret)))
return explosionClusterCreateRequest(request);
ObjectExplosionCluster *ifs = getObjectFromMap(m_objectMap, std::abs(request.id()), ret);
ObjectExplosionCluster *ifs = getObjectFromMap(m_objectMap, std::abs(request.id), ret);
if (!ifs)
return ret;
@@ -470,12 +470,12 @@ Core::FunctionReplyObject HandlerExplosionCluster::explosionClusterModifyRequest
fillData(request, aea, m_mainHandler);
// Context NASAT: check via chargeTypeId:
const ProjectDataManagement::GearClass gc = m_mainHandler->dds()->pdmDtc()->gearClassFromChargeTypeId(request.chargeStruct().chargeTypeId());
const ProjectDataManagement::GearClass gc = m_mainHandler->dds()->pdmDtc()->gearClassFromChargeTypeId(request.chargeStruct.chargeTypeId);
const bool bChargeIsAirSupport = (gc == ProjectDataManagement::GearClass::GearClass_AirSupport);
ifs->setAirSupportSource(bChargeIsAirSupport);
// For counting, only Elements being at least prepared are important:
if (request.effectStart().is_set() && ifs->isObjectModifiable()) // ToDo: check
if (request.effectStart.is_set() && ifs->isObjectModifiable()) // ToDo: check
{
// Calculate new polygon here. Not nice, though
auto poly = Polygons::explosionClusterArea(aea);
@@ -502,7 +502,7 @@ Core::FunctionReplyObject HandlerExplosionCluster::explosionClusterModifyRequest
{
// case 1: war zentral && effectStart war nicht gesetzt
// case 2: war dezentral && effectStart ist gesetzt.
if (totalAreasCentral() >= (s_maxActiveAreasCentral[AesType::AtExplosionCluster] + (s_currentAirSupportCount)) && request.effectStart().is_set()
if (totalAreasCentral() >= (s_maxActiveAreasCentral[static_cast<int>(AesType::AtExplosionCluster)] + (s_currentAirSupportCount)) && request.effectStart.is_set()
&& ((wasCentral && !ifs->isActivationTimeSet()) || !wasCentral))
{
return Core::FunctionReplyObject(1, tr_lts("dds", "Too many active central explosion clusters."));
@@ -513,7 +513,7 @@ Core::FunctionReplyObject HandlerExplosionCluster::explosionClusterModifyRequest
{
// case 1: war dezentral && effectStart war nicht gesetzt
// case 2: war zentral && effectStart ist gesetzt.
if (totalAreas() >= (s_maxActiveAreas[AesType::AtExplosionCluster]) && request.effectStart().is_set()
if (totalAreas() >= (s_maxActiveAreas[static_cast<int>(AesType::AtExplosionCluster)]) && request.effectStart.is_set()
&& (( !wasCentral && !ifs->isActivationTimeSet()) || wasCentral))
{
return Core::FunctionReplyObject(1, tr_lts("dds", "Too many active explosion clusters."));
@@ -522,7 +522,7 @@ Core::FunctionReplyObject HandlerExplosionCluster::explosionClusterModifyRequest
// For counting, only Elements being at least prepared are important:
if (request.effectStart().is_set() && ifs->isObjectModifiable())
if (request.effectStart.is_set() && ifs->isObjectModifiable())
{
DEBUG_LOG(m_logger) << "isCentral: " << isCentral;
@@ -534,8 +534,8 @@ Core::FunctionReplyObject HandlerExplosionCluster::explosionClusterModifyRequest
// Change from central to training area
if (wasCentral)
{
if (totalAreas() >= (s_maxActiveAreas[AesType::AtExplosionCluster]))
return Core::FunctionReplyObject(request.id(), tr_lts("dds", "Too many active explosion clusters."));
if (totalAreas() >= (s_maxActiveAreas[static_cast<int>(AesType::AtExplosionCluster)]))
return Core::FunctionReplyObject(request.id, tr_lts("dds", "Too many active explosion clusters."));
m_areaCount++;
m_areaCountCentral--;
@@ -544,8 +544,8 @@ Core::FunctionReplyObject HandlerExplosionCluster::explosionClusterModifyRequest
}
else // Change from training area to central
{
if (totalAreasCentral() >= (s_maxActiveAreasCentral[AesType::AtExplosionCluster]))
return Core::FunctionReplyObject(request.id(), tr_lts("dds", "Too many active central explosion clusters."));
if (totalAreasCentral() >= (s_maxActiveAreasCentral[static_cast<int>(AesType::AtExplosionCluster)]))
return Core::FunctionReplyObject(request.id, tr_lts("dds", "Too many active central explosion clusters."));
m_areaCount--;
m_areaCountCentral++;
DEBUG_LOG(m_logger) << "s_areaCount[AesType::AtExplosionCluster] = " << m_areaCount;
@@ -556,13 +556,13 @@ Core::FunctionReplyObject HandlerExplosionCluster::explosionClusterModifyRequest
}
if (request.id() < 0 && checkStateForSfm(ifs))
if (request.id < 0 && checkStateForSfm(ifs))
{
DEBUG_LOG(m_logger) << "Overwrite Effect State for OC";
aea.effectStateId = AesEffectState::EsPrepared;
}
DEBUG_LOG(m_logger) << "request.properties()" << request.properties()
DEBUG_LOG(m_logger) << "request.properties()" << request.properties
<< " aea.properties=" << aea.properties;
return ifs->updateObject(aea);
}
@@ -579,7 +579,7 @@ Core::FunctionReplyObject HandlerExplosionCluster::explosionClusterModifyGeometr
// Anzahl aktiver Areas ist erreicht, der Wirkbeginn ist (soll) gesetzt sein, aber die Area war
// vorher noch ohne Wirkbeginn
if (totalAreas() >= (s_maxActiveAreas[AesType::AtExplosionArea] + s_maxActiveAreas[AesType::AtExplosionSingle]) && request.effectStart().is_set() && !ifs->isObjectModifiable())
if (totalAreas() >= (s_maxActiveAreas[AesType::AtExplosionArea] + s_maxActiveAreas[AesType::AtExplosionSingle]) && request.effectStart.is_set() && !ifs->isObjectModifiable())
return Core::FunctionReplyObject(request.id(), tr_lts("dds", "Too many active explosion areas."));
// Todo: IsObjectModifiable() ?!?
@@ -638,7 +638,7 @@ void HandlerExplosionCluster::onExplosionClusterPauseResumeRequest(const rti::co
{
DEBUG_LOG(m_logger) << "onExplosionClusterPauseResumeRequest" << request;
Core::FunctionReplyObject ret;
ObjectExplosionCluster *ifs = getObjectFromMap(m_objectMap, request.id(), ret);
ObjectExplosionCluster *ifs = getObjectFromMap(m_objectMap, request.id, ret);
if (!ifs)
{
m_mainHandler->dds()->fts()->explosionClusterPauseResumeReply(cookie, ret);
@@ -655,8 +655,8 @@ void HandlerExplosionCluster::onExplosionClusterPauseResumeRequest(const rti::co
void HandlerExplosionCluster::onExplosionClusterReleaseReceivedRequest(const rti::core::SampleIdentity &cookie, const ExplosionClusterReleaseReceivedRequest &request)
{
DEBUG_LOG(m_logger) << "onExplosionClusterReleaseReceivedRequest" << request;
Core::FunctionReplyObject ret(request.id());
ObjectExplosionCluster *ifs = getObjectFromMap(m_objectMap, request.id(), ret);
Core::FunctionReplyObject ret(request.id);
ObjectExplosionCluster *ifs = getObjectFromMap(m_objectMap, request.id, ret);
if (!ifs)
{
ERROR_LOG(m_logger) << ret();
@@ -666,7 +666,7 @@ void HandlerExplosionCluster::onExplosionClusterReleaseReceivedRequest(const rti
if (!ifs->isUsingEffectStateReceived())
{
ret = ret.setStr(tr_lts("dds", "ExplosionCluster with id %1 is not using EffectState Received")).arg(request.id());
ret = ret.setStr(tr_lts("dds", "ExplosionCluster with id %1 is not using EffectState Received")).arg(request.id);
ERROR_LOG(m_logger) << ret();
m_mainHandler->dds()->fts()->explosionClusterReleaseReceivedReply(cookie, ret);
return;
@@ -684,7 +684,7 @@ void HandlerExplosionCluster::onTargetPositionsModifyRequest(const rti::core::Sa
{
DEBUG_LOG(m_logger) << "onTargetPositionsModifyRequest" << request;
Core::FunctionReplyObject ret;
ObjectExplosionCluster *ifs = getObjectFromMap(m_objectMap, request.aesItemId(), ret);
ObjectExplosionCluster *ifs = getObjectFromMap(m_objectMap, request.aesItemId, ret);
if (!ifs)
{
m_mainHandler->dds()->fts()->targetPositionsModifyReply(cookie, ret);