Migrates AreaEffectSimulation to generated rtiddsgen API
Converts accessor calls to plain member access across aes service and plugin.
This commit is contained in:
102 files changed
+3307
-3313
No files matched your search
+30
-30
@@ -14,7 +14,7 @@ namespace AreaEffectSimulation
|
||||
{
|
||||
|
||||
HandlerBoobyTrap::HandlerBoobyTrap(MainHandler *mainHandler)
|
||||
: HandlerBaseTmpl<ObjectBoobyTrap>(mainHandler, QStringLiteral("BoobyTrap"), s_areaCount[AesType::AtBoobyTrap], s_areaCountCentral[AesType::AtBoobyTrap])
|
||||
: HandlerBaseTmpl<ObjectBoobyTrap>(mainHandler, QStringLiteral("BoobyTrap"), s_areaCount[static_cast<int>(AesType::AtBoobyTrap)], s_areaCountCentral[static_cast<int>(AesType::AtBoobyTrap)])
|
||||
, Interface::Fts::BoobyTrapModifyRequestHandler(mainHandler->dds()->fts())
|
||||
, Interface::Fts::BoobyTrapRemoveRequestHandler(mainHandler->dds()->fts())
|
||||
, Interface::Fts::BoobyTrapTriggerRequestHandler(mainHandler->dds()->fts())
|
||||
@@ -35,7 +35,7 @@ bool HandlerBoobyTrap::init()
|
||||
bRet = false;
|
||||
return;
|
||||
}
|
||||
if (totalAreasCentral() >= s_maxActiveAreasCentral[AesType::AtBoobyTrap] )
|
||||
if (totalAreasCentral() >= s_maxActiveAreasCentral[static_cast<int>(AesType::AtBoobyTrap)] )
|
||||
{
|
||||
ERROR_LOG(m_logger) << "More active booby traps in database than allowed - ignoring the rest!";
|
||||
ifs->removeObject();
|
||||
@@ -64,32 +64,32 @@ bool HandlerBoobyTrap::init()
|
||||
|
||||
int HandlerBoobyTrap::totalAreas() const
|
||||
{
|
||||
return s_areaCount[AesType::AtBoobyTrap];
|
||||
return s_areaCount[static_cast<int>(AesType::AtBoobyTrap)];
|
||||
}
|
||||
|
||||
int HandlerBoobyTrap::totalAreasCentral() const
|
||||
{
|
||||
return s_areaCountCentral[AesType::AtBoobyTrap];
|
||||
return s_areaCountCentral[static_cast<int>(AesType::AtBoobyTrap)];
|
||||
}
|
||||
|
||||
static void fillData(const BoobyTrapModifyRequest &src, Database::AesBoobyTrap &dst)
|
||||
{
|
||||
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.effectStart = src.effectStart().is_set() && src.effectStart().get() > 0 ? QDateTime::fromMSecsSinceEpoch(src.effectStart().get()) : QDateTime();
|
||||
dst.effectDuration = src.effectDuration();
|
||||
dst.impactPosition.rx() = src.impactPosition().lon();
|
||||
dst.impactPosition.ry() = src.impactPosition().lat();
|
||||
dst.impactRadius = src.impactRadius();
|
||||
dst.partyId = src.partyId().is_set() ? src.partyId().get() : 0;
|
||||
dst.chargeTypeId = src.chargeTypeId();
|
||||
//dst.participantId = src.participantId().is_set() ? src.participantId().get() : 0;
|
||||
//dst.externalId = src.externalId().is_set() ? src.externalId().get() : 0;
|
||||
dst.triggerRadius = src.triggerRadius();
|
||||
dst.rotationAngle = src.rotationAngle().is_set() ? src.rotationAngle().get() : 0;
|
||||
dst.centralAngle = src.centralAngle().is_set() ? src.centralAngle().get() : 0;
|
||||
dst.name = QString::fromStdString(src.name);
|
||||
dst.effectStart = src.effectStart.is_set() && src.effectStart.get() > 0 ? QDateTime::fromMSecsSinceEpoch(src.effectStart.get()) : QDateTime();
|
||||
dst.effectDuration = src.effectDuration;
|
||||
dst.impactPosition.rx() = src.impactPosition.lon;
|
||||
dst.impactPosition.ry() = src.impactPosition.lat;
|
||||
dst.impactRadius = src.impactRadius;
|
||||
dst.partyId = src.partyId.is_set() ? src.partyId.get() : 0;
|
||||
dst.chargeTypeId = src.chargeTypeId;
|
||||
//dst.participantId = src.participantId.is_set() ? src.participantId.get() : 0;
|
||||
//dst.externalId = src.externalId.is_set() ? src.externalId.get() : 0;
|
||||
dst.triggerRadius = src.triggerRadius;
|
||||
dst.rotationAngle = src.rotationAngle.is_set() ? src.rotationAngle.get() : 0;
|
||||
dst.centralAngle = src.centralAngle.is_set() ? src.centralAngle.get() : 0;
|
||||
dst.isCentral = true;
|
||||
dst.triggered = false;
|
||||
}
|
||||
@@ -106,7 +106,7 @@ void HandlerBoobyTrap::onBoobyTrapModifyRequest(const rti::core::SampleIdentity
|
||||
|
||||
Core::FunctionReplyObject HandlerBoobyTrap::boobyTrapCreateRequest(const BoobyTrapModifyRequest &request)
|
||||
{
|
||||
if (totalAreasCentral() >= (s_maxActiveAreasCentral[AesType::AtBoobyTrap]) && request.effectStart().is_set())
|
||||
if (totalAreasCentral() >= (s_maxActiveAreasCentral[static_cast<int>(AesType::AtBoobyTrap)]) && request.effectStart.is_set())
|
||||
return Core::FunctionReplyObject(1, tr_lts("dds", "Too many active booby traps."));
|
||||
|
||||
Database::AesBoobyTrap newData;
|
||||
@@ -134,7 +134,7 @@ Core::FunctionReplyObject HandlerBoobyTrap::boobyTrapCreateRequest(const BoobyTr
|
||||
Core::FunctionReplyObject HandlerBoobyTrap::boobyTrapModifyRequest(const BoobyTrapModifyRequest &request)
|
||||
{
|
||||
Core::FunctionReplyObject ret;
|
||||
const QPointF &impactPos = QPointF(request.impactPosition().lon(),request.impactPosition().lat());
|
||||
const QPointF &impactPos = QPointF(request.impactPosition.lon,request.impactPosition.lat);
|
||||
// Convert Form to UTM
|
||||
bool isGroundLevel = true;
|
||||
const int exId = m_mainHandler->dds()->exerciseId();
|
||||
@@ -145,28 +145,28 @@ Core::FunctionReplyObject HandlerBoobyTrap::boobyTrapModifyRequest(const BoobyTr
|
||||
return Core::FunctionReplyObject(1, tr_lts("dds", "The Booby Trap is within a building"));
|
||||
}
|
||||
|
||||
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 boobyTrapCreateRequest(request);
|
||||
|
||||
ObjectBoobyTrap *ifs = getObjectFromMap(m_objectMap, std::abs(request.id()), ret);
|
||||
ObjectBoobyTrap *ifs = getObjectFromMap(m_objectMap, std::abs(request.id), ret);
|
||||
|
||||
if (!ifs)
|
||||
return ret;
|
||||
|
||||
if (request.effectStart().is_set() && (request.effectStart().get() + request.effectDuration() < m_mainHandler->dds()->currentPartitionTime().toMSecsSinceEpoch()))
|
||||
if (request.effectStart.is_set() && (request.effectStart.get() + request.effectDuration < m_mainHandler->dds()->currentPartitionTime().toMSecsSinceEpoch()))
|
||||
return removeObject(ifs);
|
||||
|
||||
// Anzahl aktiver Areas ist erreicht, der Wirkbeginn ist (soll) gesetzt sein, aber die Area war
|
||||
// vorher noch ohne Wirkbeginn
|
||||
if (totalAreasCentral() >= (s_maxActiveAreasCentral[AesType::AtBoobyTrap])
|
||||
&& request.effectStart().is_set()
|
||||
if (totalAreasCentral() >= (s_maxActiveAreasCentral[static_cast<int>(AesType::AtBoobyTrap)])
|
||||
&& request.effectStart.is_set()
|
||||
&& !ifs->isActivationTimeSet()
|
||||
/* && !ifs->isObjectModifiable()*/)
|
||||
return Core::FunctionReplyObject(request.id(), tr_lts("dds", "Too many active booby traps."));
|
||||
return Core::FunctionReplyObject(request.id, tr_lts("dds", "Too many active booby traps."));
|
||||
|
||||
Database::AesBoobyTrap aea(ifs->data());
|
||||
fillData(request, aea);
|
||||
if (request.id() < 0 && checkStateForSfm(ifs))
|
||||
if (request.id < 0 && checkStateForSfm(ifs))
|
||||
{
|
||||
DEBUG_LOG(m_logger) << "Overwrite booby trap Effect State for OC";
|
||||
aea.effectStateId = AesEffectState::EsPrepared;
|
||||
@@ -193,7 +193,7 @@ void HandlerBoobyTrap::onBoobyTrapTriggerRequest(const rti::core::SampleIdentity
|
||||
Core::FunctionReplyObject HandlerBoobyTrap::boobyTrapTriggerRequest(const BoobyTrapTriggerRequest &request)
|
||||
{
|
||||
Core::FunctionReplyObject ret;
|
||||
ObjectBoobyTrap *ifs = getObjectFromMap(m_objectMap, request.id(), ret);
|
||||
ObjectBoobyTrap *ifs = getObjectFromMap(m_objectMap, request.id, ret);
|
||||
|
||||
if (!ifs)
|
||||
return ret;
|
||||
@@ -201,7 +201,7 @@ Core::FunctionReplyObject HandlerBoobyTrap::boobyTrapTriggerRequest(const BoobyT
|
||||
Database::AesBoobyTrap aea(ifs->data());
|
||||
DEBUG_LOG(m_logger) << "Overwrite booby trap Effect State to expired";
|
||||
aea.effectStateId = AesEffectState::EsExpired;
|
||||
aea.triggered = request.triggered();
|
||||
aea.triggered = request.triggered;
|
||||
aea.effectDuration = aea.effectStart.msecsTo(QDateTime::currentDateTimeUtc());
|
||||
if (aea.effectDuration < 0)
|
||||
aea.effectDuration = 1;
|
||||
|
||||
Reference in new issue
Block a user