Migrates remaining proxies to generated rtiddsgen API

Converts accessor calls to plain member access in bld, cmo, gna, hla, whg and wls.
This commit is contained in:
berrux-dev committed 2026-09-21 02:47:26 +02:00
1 parent 3ec4208139
commit 6a8c31b735
34 files changed
+218 -214

No files matched your search

@@ -12,6 +12,14 @@ else()
endif()
# <logger.h> from the subdirectories (BSM, Json, VWM, ControlEffects) must
# resolve to this directory's logger.h (namespace BuildingControlUnit), as in
# the qt5 build. The root CMakeLists puts Lts/Proxies/TrainingAreaBase on the
# global include path, which would otherwise shadow it with
# TrainingAreaBase/logger.h (whose svctabcommon_export.h lives only in the
# build tree), breaking these targets.
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR})
ADD_SUBDIRECTORY(BSM)
ADD_SUBDIRECTORY(Json)
ADD_SUBDIRECTORY(VWM)
@@ -259,7 +259,6 @@ double Room::calcRemainingEffect(double SG_alt, double ZF, double WF)
Building::Building()
: m_lastHitPosition(HitPosition())
, m_logger(BuildingControlUnit::getLogger("VWM.Building"))
{}
int Building::checkPolygons()
@@ -308,12 +307,12 @@ int Building::cleanupPolygons()
cleanupDublicatePointsInPolygon(room.id(), owIdx, elemIdx, "room", candidate);
if (candidate.size() < 4)
{
NOTICE_LOG(m_logger) << "wall was made planar: Building '" << m_name << "' -> "
NOTICE_LOG(logger()) << "wall was made planar: Building '" << m_name << "' -> "
<< " in room " << room.id() << " OuterWall[" << owIdx
<< "], element[" << elemIdx << "] "
<< " makePlanar and cleanupDublicatePointsInPolygon would generate short polygon, size=" << candidate.size();
for (auto point : std::as_const(candidate))
NOTICE_LOG(m_logger) << " point= " << point;
NOTICE_LOG(logger()) << " point= " << point;
bMakePlanarDone = false;
@@ -324,7 +323,7 @@ int Building::cleanupPolygons()
if (bMakePlanarDone)
NOTICE_LOG(m_logger) << "wall was made planar: Building '" << m_name << "' -> "
NOTICE_LOG(logger()) << "wall was made planar: Building '" << m_name << "' -> "
<< " in room " << room.id() << " OuterWall[" << owIdx
<< "], element[" << elemIdx << "] "
<< " smallestDim=" << (int)makePlanar.getSmallestDim()
@@ -354,7 +353,7 @@ int Building::cleanupDublicatePointsInPolygon(int roomId, int idx, int subIdx, c
auto p2 = points.at(j);
if (qFuzzyCompare(p1, p2))
{
DEBUG_LOG(m_logger) << "Building '" << m_name << "' -> "
DEBUG_LOG(logger()) << "Building '" << m_name << "' -> "
<< "Polygon point " << i << " (" << p1 << ") and " << j << " (" << p2
<< ") in room " << roomId << ", " << type << "[" << idx
<< "], element[" << subIdx << "] are the same! -> REMOVE";
@@ -410,7 +409,7 @@ QVector<HitRoom> Building::roomStates() const
hr.fortifyFactor = room.fortifyFactor();
hr.directHit = room.isDirectHit();
ret += hr;
DEBUG_LOG(m_logger) << "HitRoom " << hr.roomId
DEBUG_LOG(logger()) << "HitRoom " << hr.roomId
<< " damage: " << hr.damagePercent
<< "%, remainEffect: " << hr.remainingEffectPercent << "%"
<< ", remainingEffectChargeTypeId: " << hr.remainingEffectChargeTypeId << "%"
@@ -448,7 +447,7 @@ void Building::setRoomState(DamageState damageState, const QVector<int> &afffect
auto it = m_rooms.find(roomId);
if (it == m_rooms.end())
{
WARNING_LOG(m_logger) << "Could not find room with id " << roomId;
WARNING_LOG(logger()) << "Could not find room with id " << roomId;
continue;
}
if (damageState == DamageState::Destroyed)
@@ -465,7 +464,7 @@ void Building::setFortifyInfo(const QVector<FortifyInfo> &foritfyInfos)
auto it = m_rooms.find(info.roomId);
if (it == m_rooms.end())
{
WARNING_LOG(m_logger) << "Could not find room with id " << info.roomId;
WARNING_LOG(logger()) << "Could not find room with id " << info.roomId;
continue;
}
Room &room = it.value();
@@ -538,14 +537,14 @@ bool Building::hit(const LtsUtils::QPoint3D &pos, const LtsUtils::QPoint3D &dir,
const bool bBelowGround = isLastHitPositionBelowGroundHack();
if (bBelowGround)
{
INFO_LOG(m_logger) << " XXXX CES belowGround, reduce charge: " << charge;
INFO_LOG(logger()) << " XXXX CES belowGround, reduce charge: " << charge;
charge.destructiveFactor *= 0.25;
charge.penetrationEffect *= 0.25;
INFO_LOG(m_logger) << " XXXX CES belowGround, reduce charge: " << charge;
INFO_LOG(logger()) << " XXXX CES belowGround, reduce charge: " << charge;
}
INFO_LOG(m_logger) << "XXXXX HitPosition: state=" << m_lastHitPosition.state
INFO_LOG(logger()) << "XXXXX HitPosition: state=" << m_lastHitPosition.state
<< ", m_name=" << m_name
<< ", m_modelId=" << m_modelId
<< ", roomId=" << m_lastHitPosition.roomId
@@ -560,7 +559,7 @@ bool Building::hit(const LtsUtils::QPoint3D &pos, const LtsUtils::QPoint3D &dir,
Room &hitRoom = m_rooms[m_lastHitPosition.roomId];
if (!hitRoom.isValid())
{
ERROR_LOG(m_logger) << "Internal error in hit calculation - could not find room with id " << m_lastHitPosition.roomId;
ERROR_LOG(logger()) << "Internal error in hit calculation - could not find room with id " << m_lastHitPosition.roomId;
return false;
}
@@ -651,7 +650,7 @@ QMap<int, Building::NeighboursToCheck> Building::checkHitNeighbours(const QMap<i
auto itRoom = m_rooms.find(neighbourRoomId);
if (itRoom == m_rooms.end())
{
WARNING_LOG(m_logger) << "Could not find room with id " << neighbourRoomId;
WARNING_LOG(logger()) << "Could not find room with id " << neighbourRoomId;
continue;
}
@@ -670,7 +669,7 @@ QMap<int, Building::NeighboursToCheck> Building::checkHitNeighbours(const QMap<i
const double oldRe = neighbour.remainingEffect();
neighbour.setRemainingEffect(neighbourRoom.remainEffect * TF);
DEBUG_LOG(m_logger) << "room " << neighbourRoomId << " remaining effect old: "
DEBUG_LOG(logger()) << "room " << neighbourRoomId << " remaining effect old: "
<< oldRe << " -> new: " << neighbour.remainingEffect();
@@ -740,7 +739,7 @@ int Building::checkDublicatePointsInPolygon(int roomId, int idx, int subIdx, con
if (qFuzzyCompare(p1, p2))
{
++numberOfDuplicates;
WARNING_LOG(m_logger) << "Building '" << m_name << "' -> "
WARNING_LOG(logger()) << "Building '" << m_name << "' -> "
<< "Polygon point " << i << " (" << p1 << ") and " << j << " (" << p2
<< ") in room " << roomId << ", " << type << "[" << idx
<< "], element[" << subIdx << "] are the same! (size=" << points.size() << ")";
@@ -750,7 +749,7 @@ int Building::checkDublicatePointsInPolygon(int roomId, int idx, int subIdx, con
if (numberOfDuplicates > 0)
for (auto point : points)
WARNING_LOG(m_logger) << "Building '" << m_name << "' -> " << "point =" << point << " (same points)";
WARNING_LOG(logger()) << "Building '" << m_name << "' -> " << "point =" << point << " (same points)";
return numberOfDuplicates;
}
@@ -28,9 +28,8 @@ public:
double transitionFactor() const { return m_transitionFactor; }
private:
NGL::INGLLogger &m_logger;
int m_id = 0;
double m_transitionFactor = 0;
};
@@ -37,7 +37,6 @@ private Q_SLOTS:
void onSwitchRelayRequest(const QString &hostname, const SwitchRelayValues &switchRelayValues);
void webSocketSendInitialData(QWebSocket *ws);
private:
NGL::INGLLogger &m_logger;
QVector<int> getAffectedRoomIds(const QVector<HitRoom> &allHitRooms) const;
QVector<int> getSegmentDamage(const QVector<HitRoom> &allHitRooms, const int damagePercentNew) const;
int getHitRoomId(const QVector<HitRoom> &allHitRooms) const;
@@ -39,7 +39,6 @@ public Q_SLOTS:
void setEffectStates(const int buildingId, const int assetId, const QByteArray &properties);
void onRelayInfoChanged(const AssetManagement::RelayInfo &info, const DataModification mod);
private:
NGL::INGLLogger &m_logger;
void onSetBuildingContaminationStateRequest(const rti::core::SampleIdentity &cookie,
const SetBuildingContaminationStateRequest &request) override;
void onSetBuildingStatesRequest(const rti::core::SampleIdentity &cookie,
@@ -10,7 +10,7 @@ namespace Buildings
{
using LOGGER_T = NGL::INGLLogger &;
BLD_COMMON_EXPORT LOGGER_T getLogger(const char *name);
SVCBLDCOMMON_EXPORT LOGGER_T getLogger(const char *name);
inline LOGGER_T getLogger(const QString &loggerName)
{
return getLogger(loggerName.toUtf8().constData());
@@ -18,7 +18,6 @@ public:
QMap<int, ProjectDataManagement::BuildingChargeEffect> buildingChargeEffects();
QMap<int, ProjectDataManagement::ChargeType> chargeTypes();
private:
NGL::INGLLogger &m_logger;
void initializePdm();
private:
NGL::INGLLogger &m_logger;
@@ -28,7 +28,6 @@ public:
bool sendPosition();
private:
NGL::INGLLogger &m_logger;
bool sendTelegramInternal() const;
bool sendbuildingInfos() const;
QJsonObject ObjectFromString(const QString& in);
@@ -40,7 +40,7 @@ T fromJson(const QByteArray &json)
QJsonObject frequencyPlanningJson(QJsonObject obj, const QString &name, FrequencyBand freqBand, int radioStationId)
{
obj.insert(QStringLiteral("Name"), name);
obj.insert(QStringLiteral("FrequencyBand"), freqBand.underlying());
obj.insert(QStringLiteral("FrequencyBand"), freqBand);
obj.insert(QStringLiteral("RadioStationId"), radioStationId);
return obj;
}
@@ -59,8 +59,8 @@ bool RadioCircuitHF::isValid() const
QJsonObject RadioCircuitHF::toJson() const
{
QJsonObject obj;
obj.insert(QStringLiteral("ModulationType"), modulationType.underlying());
obj.insert(QStringLiteral("ChannelSpacing"), channelSpacing.underlying());
obj.insert(QStringLiteral("ModulationType"), modulationType);
obj.insert(QStringLiteral("ChannelSpacing"), channelSpacing);
obj.insert(QStringLiteral("Frequency"), frequency);
obj.insert(QStringLiteral("Squelch"), squelch);
@@ -70,8 +70,8 @@ QJsonObject RadioCircuitHF::toJson() const
RadioCircuitHF* RadioCircuitHF::fromJson(const QJsonObject &obj)
{
RadioCircuitHF *spec = new RadioCircuitHF();
spec->modulationType = static_cast<ModulationType::inner_enum>(obj.value(QStringLiteral("ModulationType")).toInt(-1));
spec->channelSpacing = static_cast<ChannelSpacingHF::inner_enum>(obj.value(QStringLiteral("ChannelSpacing")).toInt());
spec->modulationType = static_cast<ModulationType>(obj.value(QStringLiteral("ModulationType")).toInt(-1));
spec->channelSpacing = static_cast<ChannelSpacingHF>(obj.value(QStringLiteral("ChannelSpacing")).toInt());
spec->frequency = obj.value(QStringLiteral("Frequency")).toInt();
spec->squelch = obj.value(QStringLiteral("Squelch")).toInt(-1);
if (spec->isValid())
@@ -94,8 +94,8 @@ bool RadioCircuitUHF::isValid() const
QJsonObject RadioCircuitUHF::toJson() const
{
QJsonObject obj;
obj.insert(QStringLiteral("ModulationType"), modulationType.underlying());
obj.insert(QStringLiteral("ChannelSpacing"), channelSpacing.underlying());
obj.insert(QStringLiteral("ModulationType"), modulationType);
obj.insert(QStringLiteral("ChannelSpacing"), channelSpacing);
obj.insert(QStringLiteral("Frequency"), frequency);
obj.insert(QStringLiteral("Squelch"), squelchDB);
obj.insert(QStringLiteral("Clipper"), clipper);
@@ -107,8 +107,8 @@ QJsonObject RadioCircuitUHF::toJson() const
RadioCircuitUHF* RadioCircuitUHF::fromJson(const QJsonObject &obj)
{
RadioCircuitUHF *spec = new RadioCircuitUHF();
spec->modulationType = static_cast<ModulationType::inner_enum>(obj.value(QStringLiteral("ModulationType")).toInt(-1));
spec->channelSpacing = static_cast<ChannelSpacing::inner_enum>(obj.value(QStringLiteral("ChannelSpacing")).toInt());
spec->modulationType = static_cast<ModulationType>(obj.value(QStringLiteral("ModulationType")).toInt(-1));
spec->channelSpacing = static_cast<ChannelSpacing>(obj.value(QStringLiteral("ChannelSpacing")).toInt());
spec->frequency = obj.value(QStringLiteral("Frequency")).toInt();
spec->squelchDB = obj.value(QStringLiteral("Squelch")).toInt(-1);
auto clipper = obj.value(QStringLiteral("Clipper"));
@@ -128,7 +128,7 @@ RadioCircuitUHF* RadioCircuitUHF::fromJson(const QJsonObject &obj)
QJsonObject RadioCircuitVHF::toJson() const
{
QJsonObject obj;
obj.insert(QStringLiteral("OperatingMode"), operatingMode.underlying());
obj.insert(QStringLiteral("OperatingMode"), operatingMode);
obj.insert(QStringLiteral("FrequencySetDataId"), freqSetDataId);
obj.insert(QStringLiteral("PilotTone"), pilotTone);
@@ -138,7 +138,7 @@ QJsonObject RadioCircuitVHF::toJson() const
RadioCircuitVHF* RadioCircuitVHF::fromJson(const QJsonObject &obj)
{
RadioCircuitVHF *spec = new RadioCircuitVHF();
spec->operatingMode = static_cast<RcOperatingMode::inner_enum>(obj.value(QStringLiteral("OperatingMode")).toInt(-1));
spec->operatingMode = static_cast<RcOperatingMode>(obj.value(QStringLiteral("OperatingMode")).toInt(-1));
spec->freqSetDataId = obj.value(QStringLiteral("FrequencySetDataId")).toInt();
auto pilotTone = obj.value(QStringLiteral("PilotTone"));
if (pilotTone.isUndefined() || !pilotTone.isBool())
@@ -195,19 +195,19 @@ QVector<RadioCircuit*> fromJson(const std::string &json)
{
RadioCircuit *rc = nullptr;
const QJsonObject obj = val.toObject();
FrequencyBand ft = static_cast<FrequencyBand::inner_enum>(obj[QStringLiteral("FrequencyBand")].toInt());
switch (ft.underlying())
FrequencyBand ft = static_cast<FrequencyBand>(obj[QStringLiteral("FrequencyBand")].toInt());
switch (ft)
{
case FrequencyBand_def::HF:
case FrequencyBand::HF:
rc = RadioCircuitHF::fromJson(obj);
break;
case FrequencyBand_def::UHF:
case FrequencyBand::UHF:
rc = RadioCircuitUHF::fromJson(obj);
break;
case FrequencyBand_def::VHF:
case FrequencyBand::VHF:
rc = RadioCircuitVHF::fromJson(obj);
break;
case FrequencyBand_def::REL:
case FrequencyBand::REL:
default:
break;
}
@@ -237,10 +237,10 @@ QSet<int> frequencySetDataIds(const std::string &frequencyPlanDataProperties)
for(const QJsonValue &val : std::as_const(arr))
{
const QJsonObject obj = val.toObject();
FrequencyBand ft = static_cast<FrequencyBand::inner_enum>(obj[QStringLiteral("FrequencyBand")].toInt());
switch (ft.underlying())
FrequencyBand ft = static_cast<FrequencyBand>(obj[QStringLiteral("FrequencyBand")].toInt());
switch (ft)
{
case FrequencyBand_def::VHF:
case FrequencyBand::VHF:
{
RadioCircuitVHF *rcVhf = RadioCircuitVHF::fromJson(obj);
if(!rcVhf)
@@ -249,8 +249,8 @@ QSet<int> frequencySetDataIds(const std::string &frequencyPlanDataProperties)
delete rcVhf;
break;
}
case FrequencyBand_def::UHF:
case FrequencyBand_def::HF:
case FrequencyBand::UHF:
case FrequencyBand::HF:
default:
break;
}
@@ -40,7 +40,6 @@ private Q_SLOTS:
void onSocketDisconnect();
private:
NGL::INGLLogger &m_logger;
void sendMessages();
private:
@@ -10,7 +10,7 @@ namespace ComponentMonitor
{
using LOGGER_T = NGL::INGLLogger &;
CMO_COMMON_EXPORT LOGGER_T getLogger(const char *name);
SVCCMOCOMMON_EXPORT LOGGER_T getLogger(const char *name);
inline LOGGER_T getLogger(const QString &loggerName)
{
return getLogger(loggerName.toUtf8().constData());
@@ -30,7 +30,6 @@ Q_SIGNALS:
void simulationStatusReceived(const NasatSimulationStatus &data);
protected:
NGL::INGLLogger &m_logger;
void textMessageReceived(const QByteArray &msg);
bool sendTelegram(const NasatBase *tele);
virtual bool sendTelegramInternal(const QByteArray &tele) = 0;
@@ -107,9 +107,9 @@ int Participant2Dds::partyId(int participantId) const
auto ret = -1;
std::function<bool(const ParticipantManagement::Participant&)> cb = [participantId, &ret](const ParticipantManagement::Participant &p)
{
if (p.id() != participantId)
if (p.id != participantId)
return false;
ret = p.partyId();
ret = p.partyId;
return true;
};
m_ppmDtc->participants(cb);
@@ -120,15 +120,15 @@ void Participant2Dds::onParticipantChanged(const ParticipantManagement::Particip
{
if (modType == DataModification::eRemoved)
return;
DEBUG_LOG(m_logger) << "onParticipantChanged: " << data.id()
<< ", " << m_participantsToWatch.contains(data.id())
DEBUG_LOG(m_logger) << "onParticipantChanged: " << data.id
<< ", " << m_participantsToWatch.contains(data.id)
<< ", " << m_participantsToWatch.size()
<< ", " << m_participantsToWatch.contains(data.id())
<< ", " << data.isDeleted();
if (!m_participantsToWatch.contains(data.id()))
<< ", " << m_participantsToWatch.contains(data.id)
<< ", " << data.isDeleted;
if (!m_participantsToWatch.contains(data.id))
return;
if (data.isDeleted())
emit participantRemoved(m_ddsConnector->getPartitionId(), data.id());
if (data.isDeleted)
emit participantRemoved(m_ddsConnector->getPartitionId(), data.id);
}
@@ -137,6 +137,7 @@ void Participant2Dds::onParticipantChanged(const ParticipantManagement::Particip
DdsHandler::DdsHandler(const std::shared_ptr<DDSConnector::DdsConnector> &ddsConnector)
: m_ddsConnector(std::make_shared<DDSConnector::DdsConnector>(ddsConnector->getDomainParticipant(), IDL::PartitionType::AllExercises))
, m_logger(getLogger("DdsHandler"))
{
DEBUG_LOG(m_logger) << "DdsHandler(" << m_ddsConnector->getDomainId() << ") for partition: " << m_ddsConnector->getDefaultPartition();
}
@@ -70,6 +70,12 @@ private:
std::shared_ptr<AreaEffectSimulation::Interface::Ftc> m_aesFtc;
std::shared_ptr<ProjectDataManagement::Interface::Dtc> m_pdmDtc;
QHash<int, std::weak_ptr<Participant2Dds>> m_nasatParticipant2Dds;
// Qt5 declared m_logger in *both* classes of this header (Participant2Dds at line 54
// and DdsHandler at line 79). A dedup pass kept only one of them, which left
// DdsHandler's DEBUG_LOG(m_logger) uses in dds_handler.cpp without a member. Restored
// to match the Qt5 declaration; this is fidelity, not a new member.
NGL::INGLLogger &m_logger;
};
}
@@ -13,20 +13,20 @@ namespace GuezNasat
Database::NasatAircraft toDb(const NasatAircraft &dds)
{
Database::NasatAircraft ret;
ret.id = dds.id();
ret.nasatId = dds.nasatId();
ret.simulationActive = dds.simulationActive();
ret.name = QString::fromStdString(dds.name());
ret.id = dds.id;
ret.nasatId = dds.nasatId;
ret.simulationActive = dds.simulationActive;
ret.name = QString::fromStdString(dds.name);
return ret;
}
NasatAircraft fromDb(const Database::NasatAircraft &db)
{
NasatAircraft ret;
ret.id(db.id);
ret.nasatId(db.nasatId);
ret.simulationActive(db.simulationActive);
ret.name(db.name.toStdString());
ret.id = db.id;
ret.nasatId = db.nasatId;
ret.simulationActive = db.simulationActive;
ret.name = db.name.toStdString();
return ret;
}
@@ -42,7 +42,7 @@ HandlerNasatAircraft::HandlerNasatAircraft(Initialization *mainHandler)
HandlerNasatAircraft::~HandlerNasatAircraft()
{
for (const auto &data : std::as_const(m_nasatAircrafts))
m_dts->removeNasatAircraftByKey(data.id());
m_dts->removeNasatAircraftByKey(data.id);
}
bool HandlerNasatAircraft::init()
@@ -50,9 +50,9 @@ bool HandlerNasatAircraft::init()
auto cb = [this](const Database::NasatAircraft & data)
{
auto dds(fromDb(data));
dds.simulationActive(false);
dds.simulationActive = false;
emit activateNasatAircraftSimulation(data.nasatId, false);
m_nasatAircrafts[dds.id()] = dds;
m_nasatAircrafts[dds.id] = dds;
m_dts->publish(dds);
};
m_db->select(cb);
@@ -64,7 +64,7 @@ int HandlerNasatAircraft::nasatIdFromNasatAircraftId(int nasatAircraftId) const
auto it = m_nasatAircrafts.find(nasatAircraftId);
if (it == m_nasatAircrafts.end())
return -1;
return it.value().nasatId();
return it.value().nasatId;
}
void HandlerNasatAircraft::simulationStatusChanged(const NasatSimulationStatus &data)
@@ -76,11 +76,11 @@ void HandlerNasatAircraft::flaFluSimulationChanged(int nasatId, bool bSimulation
{
for (NasatAircraft &na : m_nasatAircrafts)
{
if (na.nasatId() != nasatId)
if (na.nasatId != nasatId)
continue;
if (na.simulationActive() == bSimulationActive)
if (na.simulationActive == bSimulationActive)
return;
na.simulationActive(bSimulationActive);
na.simulationActive = bSimulationActive;
m_dts->publish(na);
return;
}
@@ -91,7 +91,7 @@ void HandlerNasatAircraft::onModifyNasatAircraftRequest(const rti::core::SampleI
const NasatAircraft &request)
{
DEBUG_LOG(m_logger) << "onModifyNasatAircraftRequest: " << request;
auto ret = request.id() > 0 ? modifyNasatAircraftRequest(request) : createNasatAircraftRequest(request);
auto ret = request.id > 0 ? modifyNasatAircraftRequest(request) : createNasatAircraftRequest(request);
if (ret.error())
WARNING_LOG(m_logger) << ret();
m_fts->modifyNasatAircraftReply(cookie, ret);
@@ -104,7 +104,7 @@ Core::FunctionReplyObject HandlerNasatAircraft::createNasatAircraftRequest(const
naDb.id = 0;
if (!m_db->insert(naDb))
return Core::FunctionReplyObject(request.id(), tr_lts("dds", "Can not create Aircraft information - error inserting values in database"));
return Core::FunctionReplyObject(request.id, tr_lts("dds", "Can not create Aircraft information - error inserting values in database"));
emit activateNasatAircraftSimulation(naDb.nasatId, naDb.simulationActive);
@@ -113,48 +113,48 @@ Core::FunctionReplyObject HandlerNasatAircraft::createNasatAircraftRequest(const
m_dts->publish(nasatAircraftData);
m_nasatAircrafts[naDb.id] = nasatAircraftData;
return Core::FunctionReplyObject(request.id());
return Core::FunctionReplyObject(request.id);
}
Core::FunctionReplyObject HandlerNasatAircraft::modifyNasatAircraftRequest(const NasatAircraft &request)
{
auto it = m_nasatAircrafts.find(request.id());
auto it = m_nasatAircrafts.find(request.id);
if (it == m_nasatAircrafts.end())
return Core::FunctionReplyObject(request.id(), tr_lts("dds", "Can not modify Aircraft information - id %1 not found")).arg(request.id());
return Core::FunctionReplyObject(request.id, tr_lts("dds", "Can not modify Aircraft information - id %1 not found")).arg(request.id);
if (request.nasatId() == 0 && request.name().size() == 0)
if (request.nasatId == 0 && request.name.size() == 0)
{
if (!m_db->removeNasatAircraft(request.id()))
return Core::FunctionReplyObject(request.id(), tr_lts("dds", "Can not remove Aircraft information - error removing values from database"));
if (!m_db->removeNasatAircraft(request.id))
return Core::FunctionReplyObject(request.id, tr_lts("dds", "Can not remove Aircraft information - error removing values from database"));
m_nasatAircrafts.erase(it);
m_mainHandler->nasatAircraftParticipant()->aircraftRemoved(request.id());
m_dts->removeNasatAircraftByKey(request.id());
if (it.value().simulationActive())
emit activateNasatAircraftSimulation(request.nasatId(), false);
return Core::FunctionReplyObject(request.id());
m_mainHandler->nasatAircraftParticipant()->aircraftRemoved(request.id);
m_dts->removeNasatAircraftByKey(request.id);
if (it.value().simulationActive)
emit activateNasatAircraftSimulation(request.nasatId, false);
return Core::FunctionReplyObject(request.id);
}
const int oldNasatId = it.value().nasatId();
const int oldNasatId = it.value().nasatId;
Database::NasatAircraft naDb(toDb(request));
if (!m_db->update(naDb))
return Core::FunctionReplyObject(request.id(), tr_lts("dds", "Can not modify Aircraft information - error updating values in database"));
return Core::FunctionReplyObject(request.id, tr_lts("dds", "Can not modify Aircraft information - error updating values in database"));
const bool simulationChanged = it.value().simulationActive() != request.simulationActive();
const bool simulationChanged = it.value().simulationActive != request.simulationActive;
const auto nasatAircraftData(fromDb(naDb));
m_dts->publish(nasatAircraftData);
it.value() = nasatAircraftData;
if (request.nasatId() != oldNasatId)
if (request.nasatId != oldNasatId)
emit nasatIdChanged(oldNasatId, naDb.nasatId);
if (simulationChanged)
emit activateNasatAircraftSimulation(naDb.nasatId, request.simulationActive());
emit activateNasatAircraftSimulation(naDb.nasatId, request.simulationActive);
return Core::FunctionReplyObject(request.id());
return Core::FunctionReplyObject(request.id);
}
@@ -15,20 +15,20 @@ namespace GuezNasat
Database::NasatAircraftParticipant toDb(const NasatAircraftParticipant &dds)
{
Database::NasatAircraftParticipant ret;
ret.id = dds.id();
ret.nasatAircraftId = dds.nasatAircraftId();
ret.exerciseId = dds.exerciseId();
ret.participantId = dds.participantId();
ret.id = dds.id;
ret.nasatAircraftId = dds.nasatAircraftId;
ret.exerciseId = dds.exerciseId;
ret.participantId = dds.participantId;
return ret;
}
NasatAircraftParticipant fromDb(const Database::NasatAircraftParticipant &db)
{
NasatAircraftParticipant ret;
ret.id(db.id);
ret.nasatAircraftId(db.nasatAircraftId);
ret.exerciseId(db.exerciseId);
ret.participantId(db.participantId);
ret.id = db.id;
ret.nasatAircraftId = db.nasatAircraftId;
ret.exerciseId = db.exerciseId;
ret.participantId = db.participantId;
return ret;
}
@@ -48,7 +48,7 @@ HandlerNasatAircraftParticipant::~HandlerNasatAircraftParticipant()
{
DEBUG_LOG(m_logger) << Q_FUNC_INFO << " START";
for (const auto &data : std::as_const(m_nasatAircraftParticipants))
m_dts->removeNasatAircraftByKey(data.id());
m_dts->removeNasatAircraftByKey(data.id);
DEBUG_LOG(m_logger) << Q_FUNC_INFO << " END";
}
@@ -59,8 +59,8 @@ bool HandlerNasatAircraftParticipant::init()
auto cb = [this](const Database::NasatAircraftParticipant & data)
{
const auto dds(fromDb(data));
DEBUG_LOG(m_logger) << "m_nasatAircraftParticipants.insert(" << dds.id() << ")";
m_nasatAircraftParticipants.insert(dds.id(), dds);
DEBUG_LOG(m_logger) << "m_nasatAircraftParticipants.insert(" << dds.id << ")";
m_nasatAircraftParticipants.insert(dds.id, dds);
m_dts->publish(dds);
m_mainHandler->handlerParticipant()->onNasatAircraftParticipantCreated(dds);
};
@@ -133,7 +133,7 @@ void HandlerNasatAircraftParticipant::aircraftRemoved(int nasatAircraftId)
while (it != m_nasatAircraftParticipants.end())
{
const auto &val = it.value();
if (val.nasatAircraftId() == nasatAircraftId)
if (val.nasatAircraftId == nasatAircraftId)
{
removeNasatAircraftParticipant(val);
it = m_nasatAircraftParticipants.erase(it);
@@ -150,8 +150,8 @@ void HandlerNasatAircraftParticipant::participantRemoved(int exerciseId, int par
while (it != m_nasatAircraftParticipants.end())
{
const auto &val = it.value();
if (val.participantId() == participantId &&
val.exerciseId() == exerciseId)
if (val.participantId == participantId &&
val.exerciseId == exerciseId)
{
removeNasatAircraftParticipant(val);
it = m_nasatAircraftParticipants.erase(it);
@@ -161,7 +161,7 @@ void HandlerNasatAircraftParticipant::participantRemoved(int exerciseId, int par
}
}
bool isExerciseStateValid(ExerciseManagement::ExerciseState_def::type state)
bool isExerciseStateValid(ExerciseManagement::ExerciseState::type state)
{
switch (state)
{
@@ -181,17 +181,17 @@ void HandlerNasatAircraftParticipant::onExerciseChanged(const ExerciseManagement
{
INFO_LOG(m_logger) << Q_FUNC_INFO << " START" << " , exercise" << exercise << " , modType" << modType;
const int exId = exercise.id();
const int exId = exercise.id;
switch (modType)
{
case DataModification::eAdded:
{
m_exercises[exId] = exercise;
const bool valid = isExerciseStateValid(exercise.state().underlying());
const bool valid = isExerciseStateValid(exercise.state);
if (!valid)
{
INFO_LOG(m_logger) << Q_FUNC_INFO << " STATE of exId=" << exId
<< " , state=" << exercise.state();
<< " , state=" << exercise.state;
int cnt = removeNapsOfExercise(exId);
INFO_LOG(m_logger) << Q_FUNC_INFO << " STATE of exId=" << exId << " not valid : counter of removed naps=" << cnt;
}
@@ -200,14 +200,14 @@ void HandlerNasatAircraftParticipant::onExerciseChanged(const ExerciseManagement
case DataModification::eModified:
{
const ExerciseManagement::Exercise &exerciseRef = m_exercises[exId];
if (exerciseRef.state() != exercise.state())
if (exerciseRef.state != exercise.state)
{
const bool valid = isExerciseStateValid(exercise.state().underlying());
const bool valid = isExerciseStateValid(exercise.state);
if (!valid)
{
INFO_LOG(m_logger) << Q_FUNC_INFO << " STATE change of exId=" << exId
<< " , old state=" << exerciseRef.state()
<< " , new state=" << exercise.state();
<< " , old state=" << exerciseRef.state
<< " , new state=" << exercise.state;
int cnt = removeNapsOfExercise(exId);
INFO_LOG(m_logger) << Q_FUNC_INFO << " STATE change of exId=" << exId << " : counter of removed naps=" << cnt;
}
@@ -231,15 +231,15 @@ void HandlerNasatAircraftParticipant::removeNasatAircraftParticipant(const Nasat
{
m_mainHandler->handlerParticipant()->onNasatAircraftParticipantRemoved(val);
m_db->removeNasatAircraftParticipant(val.id());
m_dts->removeNasatAircraftParticipantByKey(val.id());
m_db->removeNasatAircraftParticipant(val.id);
m_dts->removeNasatAircraftParticipantByKey(val.id);
}
void HandlerNasatAircraftParticipant::onModifyNasatAircraftParticipantRequest(const rti::core::SampleIdentity &cookie,
const NasatAircraftParticipant &request)
{
DEBUG_LOG(m_logger) << "onModifyNasatAircraftParticipantRequest: " << request;
auto ret = request.id() <= 0 ? createNasatAircraftParticipantRequest(request) : modifyNasatAircraftParticipantRequest(request);
auto ret = request.id <= 0 ? createNasatAircraftParticipantRequest(request) : modifyNasatAircraftParticipantRequest(request);
if (ret.error())
WARNING_LOG(m_logger) << ret();
m_fts->modifyNasatAircraftParticipantReply(cookie, ret);
@@ -251,50 +251,50 @@ Core::FunctionReplyObject HandlerNasatAircraftParticipant::createNasatAircraftPa
Database::NasatAircraftParticipant napDb(toDb(request));
napDb.id = 0;
if (!m_db->insert(napDb))
return Core::FunctionReplyObject(request.id(), tr_lts("dds", "Can not create Aircraft Participant connection - error inserting values in database"));
return Core::FunctionReplyObject(request.id, tr_lts("dds", "Can not create Aircraft Participant connection - error inserting values in database"));
const auto dds(fromDb(napDb));
m_dts->publish(dds);
m_nasatAircraftParticipants.insert(dds.id(), dds);
m_nasatAircraftParticipants.insert(dds.id, dds);
m_mainHandler->handlerParticipant()->onNasatAircraftParticipantCreated(request);
return Core::FunctionReplyObject(request.id());
return Core::FunctionReplyObject(request.id);
}
Core::FunctionReplyObject HandlerNasatAircraftParticipant::modifyNasatAircraftParticipantRequest(const NasatAircraftParticipant &request)
{
auto it = m_nasatAircraftParticipants.find(request.id());
auto it = m_nasatAircraftParticipants.find(request.id);
if (it == m_nasatAircraftParticipants.end())
return Core::FunctionReplyObject(request.id(), tr_lts("dds", "Can not modify Aircraft Participant connection - id %1 not found")).arg(request.id());
return Core::FunctionReplyObject(request.id, tr_lts("dds", "Can not modify Aircraft Participant connection - id %1 not found")).arg(request.id);
if (request == *it)
return Core::FunctionReplyObject(request.id());
return Core::FunctionReplyObject(request.id);
if ((request.exerciseId() == 0 && request.participantId() == 0) ||
request.nasatAircraftId() == 0)
if ((request.exerciseId == 0 && request.participantId == 0) ||
request.nasatAircraftId == 0)
{
removeNasatAircraftParticipant(it.value());
m_nasatAircraftParticipants.erase(it);
return Core::FunctionReplyObject(request.id());
return Core::FunctionReplyObject(request.id);
}
Database::NasatAircraftParticipant napDb(toDb(request));
if (!m_db->update(napDb))
return Core::FunctionReplyObject(request.id(), tr_lts("dds", "Can not modify Aircraft Participant connection - error updating values in database"));
return Core::FunctionReplyObject(request.id, tr_lts("dds", "Can not modify Aircraft Participant connection - error updating values in database"));
m_mainHandler->handlerParticipant()->onNasatAircraftParticipantRemoved(*it);
const auto dds(fromDb(napDb));
m_dts->publish(dds);
m_nasatAircraftParticipants.insert(dds.id(), dds);
m_nasatAircraftParticipants.insert(dds.id, dds);
m_dts->publish(fromDb(napDb));
m_mainHandler->handlerParticipant()->onNasatAircraftParticipantCreated(request);
return Core::FunctionReplyObject(request.id());
return Core::FunctionReplyObject(request.id);
}
int HandlerNasatAircraftParticipant::removeNapsOfExercise(int exerciseId)
@@ -306,15 +306,15 @@ int HandlerNasatAircraftParticipant::removeNapsOfExercise(int exerciseId)
for (const NasatAircraftParticipant &nap : std::as_const(napsCopy))
{
if (nap.exerciseId() == exerciseId)
if (nap.exerciseId == exerciseId)
{
DEBUG_LOG(m_logger) << Q_FUNC_INFO << " nap has to be removed: nap=" << nap;
NasatAircraftParticipant napToTriggerRemoving;
napToTriggerRemoving.id(nap.id());
napToTriggerRemoving.exerciseId(0);
napToTriggerRemoving.participantId(0);
napToTriggerRemoving.nasatAircraftId(0);
napToTriggerRemoving.id = nap.id;
napToTriggerRemoving.exerciseId = 0;
napToTriggerRemoving.participantId = 0;
napToTriggerRemoving.nasatAircraftId = 0;
modifyNasatAircraftParticipantRequest(napToTriggerRemoving);
++count;
}
@@ -133,12 +133,12 @@ void HandlerNasatImpact::nasatImpact(int nasatId, const Core::GeoPosition &pos,
const qint64 tNow = dtNow.toMSecsSinceEpoch() + 5000;
AreaEffectSimulation::ExplosionClusterSingleEffectOnlyRequest ecReq;
ecReq.id(0);
ecReq.effectStart(impactTimeMsec > tNow ? impactTimeMsec : tNow);
ecReq.name(QStringLiteral("NASAT_%1_%2_%3").arg(nasatId).arg(munitionCode).arg(dtNow.toString(QStringLiteral("dd hh:mm:ss"))).toStdString());
ecReq.element(ecReq.name());
ecReq.impactPosition(Core::GeoPosition2D(pos.lon(), pos.lat()));
ecReq.chargeTypeId(chargeTypeIdVal);
ecReq.id = 0;
ecReq.effectStart = impactTimeMsec > tNow ? impactTimeMsec : tNow;
ecReq.name = QStringLiteral("NASAT_%1_%2_%3").arg(nasatId).arg(munitionCode).arg(dtNow.toString(QStringLiteral("dd hh:mm:ss"))).toStdString();
ecReq.element = ecReq.name;
ecReq.impactPosition(Core::GeoPosition2D(pos.lon, pos.lat));
ecReq.chargeTypeId = chargeTypeIdVal;
@@ -153,31 +153,31 @@ void HandlerNasatImpact::nasatImpact(int nasatId, const Core::GeoPosition &pos,
AreaEffectSimulation::ExplosionClusterModifyRequest ecCommonModifyRequest;
ecCommonModifyRequest.id(0);
ecCommonModifyRequest.id = 0;
ecCommonModifyRequest.effectStart(impactTimeMsec > tNow ? impactTimeMsec : tNow);
ecCommonModifyRequest.effectDuration(1000);
ecCommonModifyRequest.effectSourceId(ProjectDataManagement::EffectSource::ES_Internal);
ecCommonModifyRequest.effectStart = impactTimeMsec > tNow ? impactTimeMsec : tNow;
ecCommonModifyRequest.effectDuration = 1000;
ecCommonModifyRequest.effectSourceId = ProjectDataManagement::EffectSource::ES_Internal;
ecCommonModifyRequest.explosionGeometry(AreaEffectSimulation::AesExplosionGeometry_def::EgPoint);
ecCommonModifyRequest.explosionGeometry = AreaEffectSimulation::AesExplosionGeometry::EgPoint;
ecCommonModifyRequest.chargeStruct().chargeTypeId(chargeTypeIdVal);
ecCommonModifyRequest.chargeStruct().igniterTypeId(fuseTypeToPdmIgniterType(fuseType));
ecCommonModifyRequest.chargeStruct.chargeTypeId = chargeTypeIdVal;
ecCommonModifyRequest.chargeStruct.igniterTypeId = fuseTypeToPdmIgniterType(fuseType);
ecCommonModifyRequest.area().cornerBottomLeft(Core::GeoPosition2D(pos.lon(), pos.lat()));
ecCommonModifyRequest.area.cornerBottomLeft(Core::GeoPosition2D(pos.lon, pos.lat));
ecCommonModifyRequest.name(QStringLiteral("NASAT_%1_%2_%3").arg(nasatId).arg(munitionCode).arg(dtNow.toString(QStringLiteral("dd hh:mm:ss"))).toStdString());
ecCommonModifyRequest.element(ecReq.name());
ecCommonModifyRequest.name = QStringLiteral("NASAT_%1_%2_%3").arg(nasatId).arg(munitionCode).arg(dtNow.toString(QStringLiteral("dd hh:mm:ss"))).toStdString();
ecCommonModifyRequest.element = ecReq.name;
ecCommonModifyRequest.mhpCount(1);
ecCommonModifyRequest.impactCount(1);
ecCommonModifyRequest.mhpCount = 1;
ecCommonModifyRequest.impactCount = 1;
ecCommonModifyRequest.flightDuration(flightTimeMsec);
ecCommonModifyRequest.flightDuration = flightTimeMsec;
@@ -197,10 +197,10 @@ void HandlerNasatImpact::nasatImpact(int nasatId, const Core::GeoPosition &pos,
ecReq.partyId(nap->partyId());
ecReq.partyId = nap->partyId();
ecCommonModifyRequest.partyId(nap->partyId());
ecCommonModifyRequest.participantId(nap->participantId());
ecCommonModifyRequest.partyId = nap->partyId();
ecCommonModifyRequest.participantId = nap->participantId();
int success = nap->publisher()->publish(ecCommonModifyRequest, this);
@@ -247,17 +247,17 @@ void HandlerNasatImpact::nasatImpact(int nasatId, const Core::GeoPosition &pos,
void HandlerNasatImpact::onChargeTypeChanged(const ProjectDataManagement::ChargeType &ct)
{
const QJsonDocument doc(QJsonDocument::fromJson(QByteArray::fromRawData(ct.properties().c_str(), ct.properties().size())));
const QJsonDocument doc(QJsonDocument::fromJson(QByteArray::fromRawData(ct.properties.c_str(), ct.properties.size())));
const QJsonObject obj(doc.object());
if (!obj.contains(QLatin1String("nasatId")))
return;
int nasatId = obj.value(QLatin1String("nasatId")).toInt();
if (nasatId == 0)
{
WARNING_LOG(m_logger) << "Found charge with an invalid property 'nasatId', id: " << ct.id();
WARNING_LOG(m_logger) << "Found charge with an invalid property 'nasatId', id: " << ct.id;
return;
}
m_chargeMapping.insert(nasatId, ct.id());
m_chargeMapping.insert(nasatId, ct.id);
}
@@ -30,7 +30,6 @@ public Q_SLOTS:
void nasatImpact(int nasatId, const Core::GeoPosition &pos, qint64 flightTimeMsec, qint64 impactTimeMsec, int munitionCode, FuseType fuseType = FuseType::Instant);
void onChargeTypeChanged(const ProjectDataManagement::ChargeType &ct);
private:
NGL::INGLLogger &m_logger;
int chargeTypeFromMunitionCode(int nasatChargeCode) const;
int fuseTypeToPdmIgniterType(FuseType fusetype) const;
private:
@@ -35,7 +35,7 @@ static Nasat9Liner createDds9Liner(const NasatNineLiner &nasatNineLiner)
{
Nasat9Liner nl;
const qint64 tsMSec = nasatNineLiner.timestamp <= 0 ? QDateTime::currentMSecsSinceEpoch() : qRound64(nasatNineLiner.timestamp * 1000);
nl.sampleTime(tsMSec);
nl.sampleTime = tsMSec;
if (nasatNineLiner.initialPointMode != 0)
nl.initialPoint(Core::GeoPosition2D(LtsCoordTrans::deg2rad() * nasatNineLiner.initialPoint.lon,
@@ -43,19 +43,19 @@ static Nasat9Liner createDds9Liner(const NasatNineLiner &nasatNineLiner)
if (nasatNineLiner.heading2InitialPointMode != Heading2InitialPointMode::Undefined)
{
nl.hdg2InitialPointMode(static_cast<Hdg2InitialPointMode::inner_enum>(nasatNineLiner.heading2InitialPointMode));
nl.hdgInitialPoint2Target(nasatNineLiner.headingInitialPoint2Target);
nl.hdg2InitialPointMode = static_cast<Hdg2InitialPointMode>(nasatNineLiner.heading2InitialPointMode);
nl.hdgInitialPoint2Target = nasatNineLiner.headingInitialPoint2Target;
}
else
{
nl.hdg2InitialPointMode(Hdg2InitialPointMode_def::Undefined);
nl.hdgInitialPoint2Target(-1);
nl.hdg2InitialPointMode = Hdg2InitialPointMode::Undefined;
nl.hdgInitialPoint2Target = -1;
}
if (nasatNineLiner.distance2InitialPointMode != 0)
nl.distanceInitialPoint2Target(nasatNineLiner.distanceInitialPoint2Target);
nl.distanceInitialPoint2Target = nasatNineLiner.distanceInitialPoint2Target;
else
nl.distanceInitialPoint2Target(-1);
nl.distanceInitialPoint2Target = -1;
if (nasatNineLiner.targetPositionMode != 0)
{
@@ -66,41 +66,41 @@ static Nasat9Liner createDds9Liner(const NasatNineLiner &nasatNineLiner)
}
else
{
nl.targetPosition(Core::GeoPosition(std::nan(""), std::nan(""), std::nan("")));
nl.targetPosition = Core::GeoPosition(std::nan(""), std::nan(""), std::nan(""));
}
if (nasatNineLiner.modeFriendlies != 0)
{
nl.friendliesBearing(nasatNineLiner.friendlies.bearing);
nl.friendliesDistance(nasatNineLiner.friendlies.distance);
nl.friendliesBearing = nasatNineLiner.friendlies.bearing;
nl.friendliesDistance = nasatNineLiner.friendlies.distance;
}
else
{
nl.friendliesBearing(-1);
nl.friendliesDistance(-1);
nl.friendliesBearing = -1;
nl.friendliesDistance = -1;
}
if (nasatNineLiner.finalAttackHeadingMode != FinalAttackHeadingMode::None)
{
nl.finalAttackHeading(nasatNineLiner.finalAttackHeading.heading);
nl.finalAttackHeading = nasatNineLiner.finalAttackHeading.heading;
if (nasatNineLiner.finalAttackHeadingMode == FinalAttackHeadingMode::HeadingWithSector)
{
nl.finalAttackHeadingLow(nasatNineLiner.finalAttackHeading.headingLow);
nl.finalAttackHeadingHigh(nasatNineLiner.finalAttackHeading.headingHigh);
nl.finalAttackHeadingLow = nasatNineLiner.finalAttackHeading.headingLow;
nl.finalAttackHeadingHigh = nasatNineLiner.finalAttackHeading.headingHigh;
}
else
{
nl.finalAttackHeadingLow(-1);
nl.finalAttackHeadingHigh(-1);
nl.finalAttackHeadingLow = -1;
nl.finalAttackHeadingHigh = -1;
}
}
else
nl.finalAttackHeading(-1);
nl.finalAttackHeading = -1;
if (nasatNineLiner.timeForTargetMode != TimeForTargetMode::None)
nl.timeForTarget(nasatNineLiner.timeForTargetMode == TimeForTargetMode::TimeToTarget ? -nl.timeForTarget() : nl.timeForTarget());
nl.timeForTarget = nasatNineLiner.timeForTargetMode == TimeForTargetMode::TimeToTarget ? -nl.timeForTarget : nl.timeForTarget;
else
nl.timeForTarget(0);
nl.timeForTarget = 0;
return nl;
}
@@ -125,7 +125,7 @@ void HandlerNasatNineLiner::nineLinerReceived(const NasatNineLiner &nasatNineLin
Nasat9Liner nl = createDds9Liner(nasatNineLiner);
for (auto it = participants.begin(); it != participants.end(); ++it)
{
nl.id(s_id++);
nl.id = s_id++;
const auto &exerciseParticipantId = it.key();
auto nape = it.value();
@@ -134,8 +134,8 @@ void HandlerNasatNineLiner::nineLinerReceived(const NasatNineLiner &nasatNineLin
<< ", exerciseParticipantId.participantId=" << exerciseParticipantId.participantId;
auto &nineLinerParticipant = m_nineLiner[exerciseParticipantId];
nl.isCurrent(true);
nl.participantId(exerciseParticipantId.participantId);
nl.isCurrent = true;
nl.participantId = exerciseParticipantId.participantId;
nineLinerParticipant.push_back(nl);
@@ -170,7 +170,7 @@ void HandlerNasatNineLiner::onNasatAircraftParticipantRemoved(const NasatAircraf
const int nasatId = m_mainHandler->nasatAircraft()->nasatIdFromNasatAircraftId(nap.nasatAircraftId());
const int nasatId = m_mainHandler->nasatAircraft()->nasatIdFromNasatAircraftId(nap.nasatAircraftId);
INFO_LOG(m_logger) << " onNasatAircraftParticipantRemoved, nap = " << nap << ", nasatId = " << nasatId;
if (nasatId < 0)
{
@@ -182,7 +182,7 @@ void HandlerNasatNineLiner::onNasatAircraftParticipantRemoved(const NasatAircraf
if (participants.isEmpty())
{
INFO_LOG(m_logger) << "No exercise participants found to publish 9-liner for nasat aircraft with id "
<< nap.nasatAircraftId();
<< nap.nasatAircraftId;
return;
}
@@ -200,13 +200,13 @@ void HandlerNasatNineLiner::onNasatAircraftParticipantRemoved(const NasatAircraf
if (!nineLinerParticipant.isEmpty())
{
auto &oldLast = nineLinerParticipant.last();
if (oldLast.isCurrent())
if (oldLast.isCurrent)
{
DEBUG_LOG(m_logger) << Q_FUNC_INFO << " updating for removing "
<< ", exerciseParticipantId.exerciseId=" << exerciseParticipantId.exerciseId
<< ", exerciseParticipantId.participantId=" << exerciseParticipantId.participantId;
oldLast.sampleTime(QDateTime::currentMSecsSinceEpoch());
oldLast.isCurrent(false);
oldLast.sampleTime = QDateTime::currentMSecsSinceEpoch();
oldLast.isCurrent = false;
nape->publisher()->publish(oldLast);
}
}
@@ -29,14 +29,14 @@ NasatAircraftParticipantEx::NasatAircraftParticipantEx(const NasatAircraftPartic
, m_publisher(publisher)
{
DEBUG_LOG(m_logger) << Q_FUNC_INFO << " START";
m_publisher->addParticipantToWatch(m_nap.participantId());
m_publisher->addParticipantToWatch(m_nap.participantId);
DEBUG_LOG(m_logger) << Q_FUNC_INFO << " END";
}
NasatAircraftParticipantEx::~NasatAircraftParticipantEx()
{
DEBUG_LOG(m_logger) << Q_FUNC_INFO << " START";
m_publisher->removeParticipantToWatch(m_nap.participantId());
m_publisher->removeParticipantToWatch(m_nap.participantId);
DEBUG_LOG(m_logger) << Q_FUNC_INFO << " END";
}
@@ -51,6 +51,7 @@ int NasatAircraftParticipantEx::partyId() const
HandlerParticipant::HandlerParticipant(Initialization *mainHandler)
: m_mainHandler(mainHandler)
, m_logger(getLogger("ParticipantPositionPublisher"))
{}
HandlerParticipant::~HandlerParticipant()
@@ -66,30 +67,30 @@ QHash<ExerciseParticipantKey, NasatAircraftParticipantEx *> HandlerParticipant::
void HandlerParticipant::onNasatAircraftParticipantCreated(const NasatAircraftParticipant &nap)
{
const int nasatId = m_mainHandler->nasatAircraft()->nasatIdFromNasatAircraftId(nap.nasatAircraftId());
const int nasatId = m_mainHandler->nasatAircraft()->nasatIdFromNasatAircraftId(nap.nasatAircraftId);
auto it = m_activePublisher.find(nasatId);
if (it == m_activePublisher.end())
return createNasatAircraftParticipant(nap, nasatId);
auto itParticipants = it.value().find(ExerciseParticipantKey(nap.exerciseId(), nap.participantId()));
auto itParticipants = it.value().find(ExerciseParticipantKey(nap.exerciseId, nap.participantId));
if (itParticipants == it.value().end())
return createNasatAircraftParticipant(nap, nasatId);
}
void HandlerParticipant::onNasatAircraftParticipantRemoved(const NasatAircraftParticipant &nap)
{
const int nasatId = m_mainHandler->nasatAircraft()->nasatIdFromNasatAircraftId(nap.nasatAircraftId());
const int nasatId = m_mainHandler->nasatAircraft()->nasatIdFromNasatAircraftId(nap.nasatAircraftId);
auto it = m_activePublisher.find(nasatId);
if (it == m_activePublisher.end())
{
WARNING_LOG(m_logger) << "No publisher for NasatAircraftParticipant " << nasatId << "(" << nap.nasatAircraftId() << ") found !?";
WARNING_LOG(m_logger) << "No publisher for NasatAircraftParticipant " << nasatId << "(" << nap.nasatAircraftId << ") found !?";
return;
}
auto itParticipants = it.value().find(ExerciseParticipantKey(nap.exerciseId(), nap.participantId()));
auto itParticipants = it.value().find(ExerciseParticipantKey(nap.exerciseId, nap.participantId));
if (itParticipants == it.value().end())
{
WARNING_LOG(m_logger) << "No participant entry for NasatAircraftParticipant " << nasatId << "("
<< nap.exerciseId() << "," << nap.participantId() << ") found !?";
<< nap.exerciseId << "," << nap.participantId << ") found !?";
return;
}
@@ -154,11 +155,11 @@ void HandlerParticipant::onNasatAircraftPosition(int nasatId, const Core::GeoPos
const auto &h = it.value();
TrainingAreaBase::EquipmentPosition tabPos;
tabPos.position().position(pos);
tabPos.sampleTime(ts);
tabPos.position.position = pos;
tabPos.sampleTime = ts;
for (const NasatAircraftParticipantEx *napEx : h)
{
tabPos.equipmentNumber(-napEx->participantId());
tabPos.equipmentNumber = -napEx->participantId();
int success = napEx->publisher()->publish(tabPos);
if (success)
DEBUG_LOG(m_logger) << "Publishing positon: " << tabPos << " to exercise " << napEx->exerciseId()
@@ -183,8 +184,8 @@ void HandlerParticipant::createNasatAircraftParticipant(const NasatAircraftParti
DEBUG_LOG(m_logger) << "Creating position publisher for " << nap
<< ", nasatId=" << nasatId;
auto *napEx = new NasatAircraftParticipantEx(nap,
m_mainHandler->dds()->ddsParticipant(nap.exerciseId()));
m_activePublisher[nasatId][ExerciseParticipantKey(nap.exerciseId(), nap.participantId())] = napEx;
m_mainHandler->dds()->ddsParticipant(nap.exerciseId));
m_activePublisher[nasatId][ExerciseParticipantKey(nap.exerciseId, nap.participantId)] = napEx;
connect(napEx->publisher().get(), &Participant2Dds::participantRemoved,
m_mainHandler->nasatAircraftParticipant().get(), &HandlerNasatAircraftParticipant::participantRemoved,
Qt::QueuedConnection);
@@ -24,9 +24,9 @@ struct NasatAircraftParticipantEx final
std::shared_ptr<Participant2Dds> publisher() const { return m_publisher; }
int exerciseId() const { return m_nap.exerciseId(); }
int exerciseId() const { return m_nap.exerciseId; }
int partyId() const;
int participantId() const { return m_nap.participantId(); }
int participantId() const { return m_nap.participantId; }
const NasatAircraftParticipant &participant() const { return m_nap; }
Q_DISABLE_COPY(NasatAircraftParticipantEx)
@@ -84,6 +84,10 @@ private:
QHash<int, QHash<ExerciseParticipantKey, NasatAircraftParticipantEx*>> m_activePublisher;
// Qt5 declares m_logger in both classes of this header (Participant2Dds above and
// HandlerParticipant here); the dedup pass kept only the first, so the uses in
// handler_participant.cpp had no member. Restored to match the Qt5 declaration.
NGL::INGLLogger &m_logger;
QHash<int, Core::GeoPosition> m_lastNasatPositionsAsCoreGeoposition;
Initialization *m_mainHandler;
@@ -10,7 +10,7 @@ namespace GuezNasat
{
using LOGGER_T = NGL::INGLLogger &;
GNA_COMMON_EXPORT LOGGER_T getLogger(const char *name);
SVCGNACOMMON_EXPORT LOGGER_T getLogger(const char *name);
inline LOGGER_T getLogger(const QString &loggerName)
{
return getLogger(loggerName.toUtf8().constData());
@@ -90,7 +90,6 @@ public slots:
void participantCesHitInformationRequest(const TrainingAreaBase::TetraIcd::CesHitInformation &request);
private:
NGL::INGLLogger &m_logger;
void createParticipant(const ParticipantManagement::Participant &participant);
bool createHuman(const ParticipantManagement::Participant &participant);
bool createGroundVehicle(const ParticipantManagement::Participant &participant);
@@ -54,7 +54,6 @@ public Q_SLOTS:
void onExternalEquipmentNumberRemoved(int equipNo);
private:
NGL::INGLLogger &m_logger;
void sendDataCommunicationState(int equipNo, bool bIsAvailable);
bool sendTelegramInternal(const TrainingAreaBase::TetraIcd::TrainingAreaTelegram *data,
const QString &type, int exerciseId);
@@ -87,7 +87,6 @@ private Q_SLOTS:
#endif
private:
NGL::INGLLogger &m_logger;
template <typename T>
void onSendRequest(const T &item);
template <typename T>
@@ -89,7 +89,6 @@ public slots:
void participantBiteRequest(const TrainingAreaBase::TetraIcd::DemandBite &request);
private:
NGL::INGLLogger &m_logger;
void createParticipant(const ParticipantManagement::Participant &participant);
bool createHuman(const ParticipantManagement::Participant &participant);
bool createGroundVehicle(const ParticipantManagement::Participant &participant);
@@ -53,7 +53,6 @@ public Q_SLOTS:
void onExternalEquipmentNumberRemoved(int equipNo);
private:
NGL::INGLLogger &m_logger;
void sendDataCommunicationState(int equipNo, bool bIsAvailable);
bool sendTelegramInternal(const TrainingAreaBase::TetraIcd::TrainingAreaTelegram *data,
const QString &type, int exerciseId);
@@ -109,6 +109,7 @@ DataManager::DataManager(const std::shared_ptr<IWMS2ECC_Impl> &wms2ecc, const st
, m_wms2ecc(wms2ecc)
, m_ddsHandler(ddsHandler)
, m_exercisesHandler(exHandler)
, m_logger(getLogger("DataManager"))
{
connect(m_wsReconnectTimer, &QTimer::timeout,
this, &DataManager::openWebSocket);
@@ -174,5 +174,6 @@ private:
std::shared_ptr<IWMS2ECC_Impl> m_wms2ecc;
std::shared_ptr<DdsHandler> m_ddsHandler;
std::shared_ptr<ExercisesHandler> m_exercisesHandler;
NGL::INGLLogger &m_logger;
};
}
@@ -4,7 +4,7 @@
#include <DDS/DDSConnector/dds_connector.h>
#include <ExerciseManagement/exm_dtc.h>
#include <ParticipantManagement/ppm.hpp>
#include <ParticipantManagement/ppm_dtc.h>
#include <ParticipantManagement/ppm_ftc.h>
#include "logger.h"
@@ -3,7 +3,7 @@
#pragma once
#include <DDS/DDSConnector/dds_connector.h>
#include <ParticipantManagement/ppm.hpp>
#include <ParticipantManagement/ppm_dtc.h>
#include <ParticipantManagement/ppm_ftc.h>
#include "logger.h"
@@ -39,7 +39,6 @@ Q_SIGNALS:
void participantChanged(const ParticipantManagement::Participant&, DataModification modType, int exerciseId);
private:
NGL::INGLLogger &m_logger;
void participantAdded(const ParticipantManagement::Participant &participant);
void participantModified(const ParticipantManagement::Participant &participant);
void participantRemoved(const ParticipantManagement::Participant &participant);
@@ -70,7 +70,6 @@ Q_SIGNALS:
void exerciseChanged(const ExerciseManagement::Exercise &data, DataModification modType);
private:
NGL::INGLLogger &m_logger;
void exerciseAdded(int exerciseId);
void exerciseRemoved(int exerciseId);
QMultiHash<int, ParticipantInfoStruct>::iterator findParticipant(const ParticipantInfoStruct &pis);
@@ -17,7 +17,6 @@ class WlsHandler : public QObject
{
Q_OBJECT
private:
NGL::INGLLogger &m_logger;
enum class WlsTelegramId
{
VersionInformation = 0,
@@ -54,7 +53,6 @@ private Q_SLOTS:
void onIncomingData();
void onSocketDisconnected();
private:
NGL::INGLLogger &m_logger;
QByteArray parseBuffer(const QByteArray &buffer, QTcpSocket *socket);
void parseWlsTelegram(const QByteArray &baTele, QTcpSocket *socket);
static bool findNextSyncStartByte(const QByteArray &buffer, int &iCurReadPos);