Migrates remaining services and plugins to generated rtiddsgen API

Converts accessor calls to plain member access across the residual service set.
This commit is contained in:
berrux-dev committed 2026-09-21 02:47:48 +02:00
1 parent 6a8c31b735
commit c3eda18234
104 files changed
+2424 -2430

No files matched your search

@@ -136,11 +136,11 @@ void ExmTests::tryCreateTrainingArea()
{
INFO_LOG(m_logger) << "trying to send modifyRequest TrainingArea (create)";
AssetManagement::TrainingAreaModifyRequest request;
request.id(0);
request.name("TestTrainingAreaCreate");
request.bottomLeft(Core::GeoPosition2D(11.61/180*M_PI, 53.07/180*M_PI));
request.height(1000000);
request.width(1000000);
request.id = 0;
request.name = "TestTrainingAreaCreate";
request.bottomLeft = Core::GeoPosition2D(11.61/180*M_PI, 53.07/180*M_PI);
request.height = 1000000;
request.width = 1000000;
if (!m_ftc_asm->trainingAreaModifyRequest(request, this))
@@ -176,14 +176,14 @@ void ExmTests::tryCreate()
INFO_LOG(m_logger) << "trying to send createRequest Exercise";
ExerciseCreateRequest req;
req.name(std::string("TestExerciseCreate"));
req.beginTime(10);
req.endTime(20);
req.trainingAreaId(m_trainingAreaId);
req.radioGroupId(radioGroupId);
req.symbolFillTypeId(symbolFillType);
req.forces(std::string("Forces"));
req.description(std::string("Description"));
req.name = std::string("TestExerciseCreate");
req.beginTime = 10;
req.endTime = 20;
req.trainingAreaId = m_trainingAreaId;
req.radioGroupId = radioGroupId;
req.symbolFillTypeId = symbolFillType;
req.forces = std::string("Forces");
req.description = std::string("Description");
if (!m_ftc->exerciseCreateRequest(req, this))
{
@@ -198,17 +198,17 @@ void ExmTests::tryModify()
{
INFO_LOG(m_logger) << "trying to send modify request for exercise Id = " << m_exerciseId;
ExerciseModifyRequest req;
req.id(m_exerciseId);
req.name(std::string("ExerciseModifyTest"));
req.beginTime(1000);
req.endTime(2000);
req.trainingAreaId(m_trainingAreaId);
req.radioGroupId(1);
req.symbolFillTypeId(1);
req.forces(std::string("ForcesUpdated"));
req.description(std::string("DescriptionUpdated"));
req.activePhaseId(m_phaseId);
req.newState(ExerciseState::Created);
req.id = m_exerciseId;
req.name = std::string("ExerciseModifyTest");
req.beginTime = 1000;
req.endTime = 2000;
req.trainingAreaId = m_trainingAreaId;
req.radioGroupId = 1;
req.symbolFillTypeId = 1;
req.forces = std::string("ForcesUpdated");
req.description = std::string("DescriptionUpdated");
req.activePhaseId = m_phaseId;
req.newState = ExerciseState::Created;
if (!m_ftc->exerciseModifyRequest(req, this))
{
ERROR_LOG(m_logger) << "Error requesting modify data";
@@ -268,20 +268,20 @@ void ExmTests::tryStartExercise()
m_dtc->waitForHistoricalDataExercise();
ExerciseManagement::Exercise ex = m_dtc->exercise(m_exerciseId);
DEBUG_LOG(m_logger) << "Training area id = " << ex.trainingAreaId();
DEBUG_LOG(m_logger) << "Training area id = " << ex.trainingAreaId;
ExerciseModifyRequest req;
req.id(m_exerciseId);
req.name(std::string("ExerciseStarted"));
req.beginTime(ex.beginTime());
req.endTime(ex.endTime());
req.trainingAreaId(ex.trainingAreaId());
req.radioGroupId(ex.radioGroupId());
req.symbolFillTypeId(ex.symbolFillTypeId());
req.activePhaseId(ex.activePhaseId());
req.forces(ex.forces());
req.description(ex.description());
req.newState(ExerciseState::Started);
req.id = m_exerciseId;
req.name = std::string("ExerciseStarted");
req.beginTime = ex.beginTime;
req.endTime = ex.endTime;
req.trainingAreaId = ex.trainingAreaId;
req.radioGroupId = ex.radioGroupId;
req.symbolFillTypeId = ex.symbolFillTypeId;
req.activePhaseId = ex.activePhaseId;
req.forces = ex.forces;
req.description = ex.description;
req.newState = ExerciseState::Started;
if (!m_ftc->exerciseModifyRequest(req, this))
{
ERROR_LOG(m_logger) << "Error requesting modify data";
@@ -311,7 +311,7 @@ void ExmTests::tryGetAllExercises()
bool bAtLeastOneFound = false;
auto cb = [this, &bAtLeastOneFound](const ExerciseManagement::Exercise &ex)
{
INFO_LOG(m_logger) << "Exe(" << ex.id() << ") : " << ex.name();
INFO_LOG(m_logger) << "Exe(" << ex.id << ") : " << ex.name;
bAtLeastOneFound = true;
};
m_dtc->exercises(cb);
@@ -330,17 +330,17 @@ void ExmTests::tryGetExercise()
m_dtc->waitForHistoricalDataExercise();
ExerciseManagement::Exercise data = m_dtc->exercise(m_exerciseId);
if (data.id() <= 0)
if (data.id <= 0)
{
ERROR_LOG(m_logger) << "Error receiving data for exercise " << m_exerciseId;
DEBUG_LOG(m_logger) << "data.id() = " << data.id();
DEBUG_LOG(m_logger) << "data.id() = " << data.id;
failExit();
}
else
{
INFO_LOG(m_logger) << "## Exe(" << data.id() << ") : name = " << data.name()
<< ", begin = " << data.beginTime() << ", end = " << data.endTime()
<< ", state = " << data.state();
INFO_LOG(m_logger) << "## Exe(" << data.id << ") : name = " << data.name
<< ", begin = " << data.beginTime << ", end = " << data.endTime
<< ", state = " << data.state;
}
QTimer::singleShot(0, qApp, &QCoreApplication::quit);
}
@@ -349,7 +349,7 @@ void ExmTests::tryGetExercise()
void ExmTests::onExerciseChanged(const ExerciseManagement::Exercise &data,
DataModification modType)
{
const int id = data.id();
const int id = data.id;
DEBUG_LOG(m_logger) << "onExerciseChanged for exercise " << id
<< " - modType: " << (int)modType;
if (m_exerciseId == id)
@@ -92,8 +92,8 @@ bool DataTopicTests::initPublisher()
bool DataTopicTests::write(const ExerciseManagement::Exercise &data)
{
INFO_LOG(m_logger) << "Publish topic Exercise ";
DEBUG_LOG(m_logger) << "ExeId: " << data.id() << ", state: " << data.state()
<< ", partitionName: " << data.partitionName();
DEBUG_LOG(m_logger) << "ExeId: " << data.id << ", state: " << data.state
<< ", partitionName: " << data.partitionName;
return m_dtsExercise->write(data);
}
@@ -147,9 +147,9 @@ void DataTopicTests::processData(const ExerciseManagement::Exercise &instance, D
Q_UNUSED(modType);
INFO_LOG(m_logger) << "process Lts_Exercise";
DEBUG_LOG(m_logger) << "exerciseId: " << instance.id();
DEBUG_LOG(m_logger) << "name: " << instance.name();
DEBUG_LOG(m_logger) << "state: " << instance.state();
DEBUG_LOG(m_logger) << "exerciseId: " << instance.id;
DEBUG_LOG(m_logger) << "name: " << instance.name;
DEBUG_LOG(m_logger) << "state: " << instance.state;
m_receivedExerciseData = instance;
@@ -56,11 +56,11 @@ void DataTopicTestsMain::publishTestCase()
DEBUG_LOG(m_logger) <<"DataTopicTestsMain: publish data";
// Topic Exercise
m_sentExerciseData.id(222);
m_sentExerciseData.state(ExerciseManagement::ExerciseState::Started);
m_sentExerciseData.name("UnitTest Exe 222");
m_sentExerciseData.isUsed(true);
m_sentExerciseData.partitionName(IDL::exercisePartition(222));
m_sentExerciseData.id = 222;
m_sentExerciseData.state = ExerciseManagement::ExerciseState::Started;
m_sentExerciseData.name = "UnitTest Exe 222";
m_sentExerciseData.isUsed = true;
m_sentExerciseData.partitionName = IDL::exercisePartition(222);
QVERIFY2(m_dtTest->write(m_sentExerciseData), "Publishing Topic Exercise failed");
@@ -73,8 +73,8 @@ void DataTopicTestsMain::subscribeTestCase()
ExerciseManagement::Exercise recvExercise = m_dtTest->getReceivedExerciseData();
QCOMPARE(recvExercise.id(), m_sentExerciseData.id());
QCOMPARE(recvExercise.state(), m_sentExerciseData.state());
QCOMPARE(recvExercise.id, m_sentExerciseData.id);
QCOMPARE(recvExercise.state, m_sentExerciseData.state);
}
@@ -55,7 +55,7 @@ LtsWebSocket::ReplyMessage *DataManager::exerciseInformation(const QString &uuid
exInfo.startTime = exData.startTime.toMSecsSinceEpoch();
exInfo.stopTime = exData.stopTime.toMSecsSinceEpoch();
exInfo.timeZone = exData.defaultTimeZone;
exInfo.status = exData.exerciseStateId.underlying();
exInfo.status = exData.exerciseStateId;
exInfo.description = exData.description;
data.append(exInfo);
@@ -21,38 +21,38 @@ inline Exercise convert(const ExmExercise &dbData)
{
ExerciseManagement::Exercise ddsData;
ddsData.id(dbData.id);
ddsData.name(dbData.name.toStdString());
ddsData.id = dbData.id;
ddsData.name = dbData.name.toStdString();
// behaviour of QDateTime::toMSecsSinceEpoch() is undefinded if not valid:
if (dbData.beginTime.isValid())
ddsData.beginTime(dbData.beginTime.toMSecsSinceEpoch());
ddsData.beginTime = dbData.beginTime.toMSecsSinceEpoch();
if (dbData.endTime.isValid())
ddsData.endTime(dbData.endTime.toMSecsSinceEpoch());
ddsData.endTime = dbData.endTime.toMSecsSinceEpoch();
if (dbData.created.isValid())
ddsData.created(dbData.created.toMSecsSinceEpoch());
ddsData.created = dbData.created.toMSecsSinceEpoch();
if (dbData.startTime.isValid())
ddsData.startTime(dbData.startTime.toMSecsSinceEpoch());
ddsData.startTime = dbData.startTime.toMSecsSinceEpoch();
if (dbData.stopTime.isValid())
ddsData.stopTime(dbData.stopTime.toMSecsSinceEpoch());
ddsData.stopTime = dbData.stopTime.toMSecsSinceEpoch();
ddsData.trainingAreaId(dbData.trainingAreaId);
ddsData.trainingAreaId = dbData.trainingAreaId;
if (!dbData.radioGroupId.isNull() && dbData.radioGroupId.canConvert<unsigned int>())
ddsData.radioGroupId(dbData.radioGroupId.toUInt());
ddsData.activePhaseId(dbData.activePhaseId);
ddsData.symbolFillTypeId(dbData.symbolFillTypeId);
ddsData.linkedExerciseId(dbData.linkedExerciseId);
ddsData.radioGroupId = dbData.radioGroupId.toUInt();
ddsData.activePhaseId = dbData.activePhaseId;
ddsData.symbolFillTypeId = dbData.symbolFillTypeId;
ddsData.linkedExerciseId = dbData.linkedExerciseId;
if (!dbData.defaultTimeZone.isEmpty())
ddsData.defaultTimeZone(dbData.defaultTimeZone.at(0).toLatin1());
ddsData.defaultTimeZone = dbData.defaultTimeZone.at(0).toLatin1();
else
ddsData.defaultTimeZone('Z');
ddsData.sendToWMS(dbData.sendToWms);
ddsData.transferred(dbData.transferred);
ddsData.hasHlaInterface(dbData.hasHlaInterface);
ddsData.state(dbData.exerciseStateId);
ddsData.forces(dbData.forces.toStdString());
ddsData.description(dbData.description.toStdString());
ddsData.partitionName(IDL::exercisePartition(dbData.id));
ddsData.defaultTimeZone = 'Z';
ddsData.sendToWMS = dbData.sendToWms;
ddsData.transferred = dbData.transferred;
ddsData.hasHlaInterface = dbData.hasHlaInterface;
ddsData.state = dbData.exerciseStateId;
ddsData.forces = dbData.forces.toStdString();
ddsData.description = dbData.description.toStdString();
ddsData.partitionName = IDL::exercisePartition(dbData.id);
return ddsData;
}
@@ -61,12 +61,12 @@ inline ExercisePhase convert(const ExmExercisePhase &dbData)
{
ExerciseManagement::ExercisePhase ddsData;
ddsData.id(dbData.id);
ddsData.name(dbData.name.toStdString());
ddsData.description(dbData.description.toStdString());
ddsData.beginTime(dbData.beginTime.toMSecsSinceEpoch());
ddsData.endTime(dbData.endTime.toMSecsSinceEpoch());
ddsData.exerciseId(dbData.exerciseId);
ddsData.id = dbData.id;
ddsData.name = dbData.name.toStdString();
ddsData.description = dbData.description.toStdString();
ddsData.beginTime = dbData.beginTime.toMSecsSinceEpoch();
ddsData.endTime = dbData.endTime.toMSecsSinceEpoch();
ddsData.exerciseId = dbData.exerciseId;
return ddsData;
}
@@ -58,7 +58,7 @@ namespace ExerciseManagement
QString ExerciseStateManager::toString(ExerciseManagement::ExerciseState state)
{
switch (state.underlying())
switch (state)
{
case ExerciseState::Unknown:
return tr("UNKNOWN");
@@ -74,7 +74,7 @@ namespace ExerciseManagement
return tr("TERMINATED");
}
return tr("Unknown State: (%1)").arg(state.underlying());
return tr("Unknown State: (%1)").arg(state);
}
void ExerciseStateManager::setStateInternal(ExerciseManagement::ExerciseState state)
@@ -167,23 +167,23 @@ static Database::ExmExercise copyBaseData(const T &in)
Database::ExmExercise newData;
// exerciseState defined in ObjectExercise
newData.id = in.id();
newData.name = QString::fromStdString(in.name());
newData.beginTime = QDateTime::fromMSecsSinceEpoch(in.beginTime());
newData.endTime = QDateTime::fromMSecsSinceEpoch(in.endTime());
newData.startTime = QDateTime::fromMSecsSinceEpoch(in.startTime());
newData.stopTime = QDateTime::fromMSecsSinceEpoch(in.stopTime());
newData.trainingAreaId = in.trainingAreaId();
if (in.radioGroupId().is_set())
newData.radioGroupId = in.radioGroupId().get();
newData.symbolFillTypeId = in.symbolFillTypeId();
newData.linkedExerciseId = in.linkedExerciseId();
newData.defaultTimeZone = QLatin1Char(in.defaultTimeZone());
newData.sendToWms = in.sendToWMS();
newData.transferred = in.transferred();
newData.hasHlaInterface = in.hasHlaInterface();
newData.forces = QString::fromStdString(in.forces());
newData.description = QString::fromStdString(in.description());
newData.id = in.id;
newData.name = QString::fromStdString(in.name);
newData.beginTime = QDateTime::fromMSecsSinceEpoch(in.beginTime);
newData.endTime = QDateTime::fromMSecsSinceEpoch(in.endTime);
newData.startTime = QDateTime::fromMSecsSinceEpoch(in.startTime);
newData.stopTime = QDateTime::fromMSecsSinceEpoch(in.stopTime);
newData.trainingAreaId = in.trainingAreaId;
if (in.radioGroupId.is_set())
newData.radioGroupId = in.radioGroupId.get();
newData.symbolFillTypeId = in.symbolFillTypeId;
newData.linkedExerciseId = in.linkedExerciseId;
newData.defaultTimeZone = QLatin1Char(in.defaultTimeZone);
newData.sendToWms = in.sendToWMS;
newData.transferred = in.transferred;
newData.hasHlaInterface = in.hasHlaInterface;
newData.forces = QString::fromStdString(in.forces);
newData.description = QString::fromStdString(in.description);
return newData;
}
@@ -241,11 +241,11 @@ Core::FunctionReplyObject HandlerExercise::exerciseCreateRequest(const ExerciseC
// Create default phase for exercise
ExercisePhaseCreateRequest phaseData;
phaseData.name(tr("Phase 1").toStdString());
phaseData.description(tr("Default exercise phase").toStdString());
phaseData.beginTime(request.beginTime());
phaseData.endTime(request.endTime());
phaseData.exerciseId(ifs->id());
phaseData.name = tr("Phase 1").toStdString();
phaseData.description = tr("Default exercise phase").toStdString();
phaseData.beginTime = request.beginTime;
phaseData.endTime = request.endTime;
phaseData.exerciseId = ifs->id();
ret = m_mainHandler->exercisePhaseHandler()->exercisePhaseCreateRequest(phaseData);
if (hasError(ret, ifs))
@@ -291,21 +291,21 @@ Core::FunctionReplyObject HandlerExercise::exerciseModifyRequest(const ExerciseM
{
INFO_LOG(m_logger) << "onExerciseModifyRequest: " << request;
ObjectExercise *ifs = m_exeObjMap.value(request.id());
ObjectExercise *ifs = m_exeObjMap.value(request.id);
if (ifs == nullptr)
return Core::FunctionReplyObject(request.id(), tr_lts("dds", "Exercise with id %1 not found")).arg(request.id());
return Core::FunctionReplyObject(request.id, tr_lts("dds", "Exercise with id %1 not found")).arg(request.id);
if (ifs->exerciseState() == ExerciseState::Created &&
request.newState() == ExerciseState::Started)
request.newState == ExerciseState::Started)
{
// check if the running exercise has CnrChannels, which are already included in the global CnrConfigs
QStringList doubleChannelNames = doubleChannels(request.id(), 0);
QStringList doubleChannelNames = doubleChannels(request.id, 0);
if (!doubleChannelNames.isEmpty())
{
std::sort(doubleChannelNames.begin(), doubleChannelNames.end());
return Core::FunctionReplyObject(request.id(), tr_lts("dds", "The following channel(s) are already planned in the global CnrConfig: %1")).arg(doubleChannelNames.join(QLatin1String(", ")));
return Core::FunctionReplyObject(request.id, tr_lts("dds", "The following channel(s) are already planned in the global CnrConfig: %1")).arg(doubleChannelNames.join(QLatin1String(", ")));
}
// check if another exercise is already running, only allow N active exercises in parallel
@@ -317,7 +317,7 @@ Core::FunctionReplyObject HandlerExercise::exerciseModifyRequest(const ExerciseM
{
const auto state = ex->exerciseState();
if (ex->linkedExerciseId() == request.id())
if (ex->linkedExerciseId() == request.id)
{
doubleChannelNames = doubleChannels(ex->id(), 0);
@@ -325,7 +325,7 @@ Core::FunctionReplyObject HandlerExercise::exerciseModifyRequest(const ExerciseM
{
std::sort(doubleChannelNames.begin(), doubleChannelNames.end());
return Core::FunctionReplyObject(request.id(), tr_lts("dds", "The following channel(s) are planned in the global CnrConfig and the linked exercise %1: %2")).arg(ex->name()).arg(doubleChannelNames.join(QLatin1String(", ")));
return Core::FunctionReplyObject(request.id, tr_lts("dds", "The following channel(s) are planned in the global CnrConfig and the linked exercise %1: %2")).arg(ex->name()).arg(doubleChannelNames.join(QLatin1String(", ")));
}
}
@@ -343,48 +343,48 @@ Core::FunctionReplyObject HandlerExercise::exerciseModifyRequest(const ExerciseM
++iCntRunningExercises;
}
if (iCntRunningExercises >= Settings::maxStartedExercises())
return Core::FunctionReplyObject(request.id(),
return Core::FunctionReplyObject(request.id,
tr_lts("dds", "Can not start exercise - only %1 started exercise(s) allowed")).arg(Settings::maxStartedExercises());
}
if (request.newState() == ExerciseState::Stopped)
if (request.newState == ExerciseState::Stopped)
{
int iCnt = 0;
for (const ObjectExercise *ex : qAsConst(m_exeObjMap))
{
const auto state = ex->exerciseState();
if (ex->id() != request.id() && state == ExerciseState::Stopped)
if (ex->id() != request.id && state == ExerciseState::Stopped)
++iCnt;
}
if (Settings::maxStoppedExercises() > 0 && iCnt >= Settings::maxStoppedExercises())
return Core::FunctionReplyObject(request.id(),
return Core::FunctionReplyObject(request.id,
tr_lts("dds", "Can not stop exercise - there are %1 stopped exercise(s) from maximal %2 allowed")).arg(iCnt).arg(Settings::maxStoppedExercises());
}
if (request.hasHlaInterface() && (request.newState() == ExerciseState::Started ||
request.newState() == ExerciseState::Paused))
if (request.hasHlaInterface && (request.newState == ExerciseState::Started ||
request.newState == ExerciseState::Paused))
{
int iCnt = 0;
for (const ObjectExercise *ex : qAsConst(m_exeObjMap))
{
if (ex->id() != request.id() && ex->data().hasHlaInterface && (ex->exerciseState() == ExerciseState::Started ||
if (ex->id() != request.id && ex->data().hasHlaInterface && (ex->exerciseState() == ExerciseState::Started ||
ex->exerciseState() == ExerciseState::Paused))
++iCnt;
}
if (iCnt >= Settings::maxHlaExercises())
return Core::FunctionReplyObject(request.id(),
return Core::FunctionReplyObject(request.id,
tr_lts("dds", "Can not modify exercise - only %1 running exercise(s) with HLA allowed")).arg(Settings::maxHlaExercises());
}
if (ifs->exerciseState() != ExerciseManagement::ExerciseState::Created)
{
if (request.linkedExerciseId() != ifs->linkedExerciseId())
return Core::FunctionReplyObject(request.id(), tr_lts("dds", "Can not change linked exercise when exercise is already started"));
if (request.sendToWMS() == false && ifs->data().sendToWms == true)
return Core::FunctionReplyObject(request.id(), tr_lts("dds", "Exercise is already visible in WMS - can not reset this option"));
if (request.linkedExerciseId != ifs->linkedExerciseId())
return Core::FunctionReplyObject(request.id, tr_lts("dds", "Can not change linked exercise when exercise is already started"));
if (request.sendToWMS == false && ifs->data().sendToWms == true)
return Core::FunctionReplyObject(request.id, tr_lts("dds", "Exercise is already visible in WMS - can not reset this option"));
}
if (request.linkedExerciseId() == 0)
if (request.linkedExerciseId == 0)
{
if (ifs->linkedExerciseId() != 0)
{
@@ -392,61 +392,61 @@ Core::FunctionReplyObject HandlerExercise::exerciseModifyRequest(const ExerciseM
if (linked != nullptr)
{
if (!linked->setLinkedExerciseId(0))
return Core::FunctionReplyObject(request.id(), tr_lts("dds", "Can not update unlinked exercise"));
return Core::FunctionReplyObject(request.id, tr_lts("dds", "Can not update unlinked exercise"));
}
}
}
else // request.linkedExercise() != 0
{
ObjectExercise *linked = m_exeObjMap.value(request.linkedExerciseId());
ObjectExercise *linked = m_exeObjMap.value(request.linkedExerciseId);
if (linked == nullptr)
return Core::FunctionReplyObject(request.id(), tr_lts("dds", "Can not find linked exercise with id %1")).arg(request.linkedExerciseId());
return Core::FunctionReplyObject(request.id, tr_lts("dds", "Can not find linked exercise with id %1")).arg(request.linkedExerciseId);
if (linked->linkedExerciseId() != request.id())
if (linked->linkedExerciseId() != request.id)
{
if (linked->linkedExerciseId() != 0)
return Core::FunctionReplyObject(request.id(), tr_lts("dds", "The exercise to link already has another linked exercise"));
return Core::FunctionReplyObject(request.id, tr_lts("dds", "The exercise to link already has another linked exercise"));
// own state is checked above
if (linked->exerciseState() != ExerciseManagement::ExerciseState::Created)
return Core::FunctionReplyObject(request.id(), tr_lts("dds", "Can not link to an already running exercise"));
return Core::FunctionReplyObject(request.id, tr_lts("dds", "Can not link to an already running exercise"));
QStringList doubleChannelNames = doubleChannels(request.id(), request.linkedExerciseId());
QStringList doubleChannelNames = doubleChannels(request.id, request.linkedExerciseId);
if (!doubleChannelNames.isEmpty())
{
std::sort(doubleChannelNames.begin(), doubleChannelNames.end());
return Core::FunctionReplyObject(request.id(), tr_lts("dds", "Linked exercise has overlapping CnrConfig(s) for channel(s): %1")).arg(doubleChannelNames.join(QLatin1String(", ")));
return Core::FunctionReplyObject(request.id, tr_lts("dds", "Linked exercise has overlapping CnrConfig(s) for channel(s): %1")).arg(doubleChannelNames.join(QLatin1String(", ")));
}
if (!linked->setLinkedExerciseId(request.id()))
return Core::FunctionReplyObject(request.id(), tr_lts("dds", "Can not update linked exercise"));
if (!linked->setLinkedExerciseId(request.id))
return Core::FunctionReplyObject(request.id, tr_lts("dds", "Can not update linked exercise"));
}
if (linked->sendToWms() != request.sendToWMS())
if (linked->sendToWms() != request.sendToWMS)
{
if (!linked->setSendToWms(request.sendToWMS()))
return Core::FunctionReplyObject(request.id(), tr_lts("dds", "Can not update linked exercise"));
if (!linked->setSendToWms(request.sendToWMS))
return Core::FunctionReplyObject(request.id, tr_lts("dds", "Can not update linked exercise"));
}
}
DEBUG_LOG(m_logger) << "Linked exercise: " << request.linkedExerciseId()
DEBUG_LOG(m_logger) << "Linked exercise: " << request.linkedExerciseId
<< ", state: " << ifs->exerciseState()
<< ", new: " << request.newState();
if (request.linkedExerciseId() != 0 && ifs->exerciseState() != request.newState())
<< ", new: " << request.newState;
if (request.linkedExerciseId != 0 && ifs->exerciseState() != request.newState)
{
if (request.newState() == ExerciseManagement::ExerciseState::Started ||
request.newState() == ExerciseManagement::ExerciseState::Stopped)
if (request.newState == ExerciseManagement::ExerciseState::Started ||
request.newState == ExerciseManagement::ExerciseState::Stopped)
{
ObjectExercise *ifsLinked = m_exeObjMap.value(request.linkedExerciseId());
ObjectExercise *ifsLinked = m_exeObjMap.value(request.linkedExerciseId);
if (!ifsLinked)
WARNING_LOG(m_logger) << "Linked exercise with id " << request.linkedExerciseId() << " not found!";
WARNING_LOG(m_logger) << "Linked exercise with id " << request.linkedExerciseId << " not found!";
else
{
if (ifsLinked->exerciseState() != ExerciseManagement::ExerciseState::Paused ||
request.newState() == ExerciseManagement::ExerciseState::Stopped)
request.newState == ExerciseManagement::ExerciseState::Stopped)
{
auto retLinked = ifsLinked->switchToState(request.newState(), request.operatorId(), request.workstationId());
auto retLinked = ifsLinked->switchToState(request.newState, request.operatorId, request.workstationId);
if (retLinked.error())
return retLinked;
}
@@ -455,20 +455,20 @@ Core::FunctionReplyObject HandlerExercise::exerciseModifyRequest(const ExerciseM
}
// state change to started requested? (case 'start' or 'resume')
if ((request.newState() != ifs->exerciseState() ) &&
(request.newState() == ExerciseManagement::ExerciseState::Started))
if ((request.newState != ifs->exerciseState() ) &&
(request.newState == ExerciseManagement::ExerciseState::Started))
{
QString mesg;
if (!checkEquipmentNumbersOnAllExercises(request.id(), mesg))
return Core::FunctionReplyObject(request.id(),
if (!checkEquipmentNumbersOnAllExercises(request.id, mesg))
return Core::FunctionReplyObject(request.id,
tr_lts("dds", "Can not start exercise - equipment numbers already in use: %1 ")).arg(mesg);
}
Database::ExmExercise data(copyBaseData(request));
data.exerciseStateId = request.newState();
data.activePhaseId = request.activePhaseId();
data.operatorId = request.operatorId();
data.workstationId = request.workstationId();
data.exerciseStateId = request.newState;
data.activePhaseId = request.activePhaseId;
data.operatorId = request.operatorId;
data.workstationId = request.workstationId;
return ifs->updateObject(data);
}
@@ -527,8 +527,8 @@ void HandlerExercise::onGetExerciseImageRequest(const rti::core::SampleIdentity
Core::FunctionReplyObject fro;
GetExerciseImageReply reply;
int32_t exerciseId = request.exerciseId();
reply.id(exerciseId);
int32_t exerciseId = request.exerciseId;
reply.id = exerciseId;
DEBUG_LOG(m_logger) << "onGetExerciseImageRequest id = " << exerciseId;
@@ -538,13 +538,13 @@ void HandlerExercise::onGetExerciseImageRequest(const rti::core::SampleIdentity
if (fro.error())
{
reply.id(fro.id());
reply.errorString(fro.str());
reply.errorParams(fro.args());
reply.id = fro.id();
reply.errorString = fro.str();
reply.errorParams = fro.args();
}
else
{
reply.imageData(LtsUtils::convert<std::vector<uint8_t>>(exmImg.image));
reply.imageData = LtsUtils::convert<std::vector<uint8_t>>(exmImg.image);
// TODO: reimpl optimization routines (e.g. use ImageMagick instead of GuiApplication, which won't work without an X server)
// QPixmap excPx(LtsUtils::getPixmap(exmImg.image));
@@ -580,15 +580,15 @@ void HandlerExercise::onGetExerciseImageRequest(const rti::core::SampleIdentity
void HandlerExercise::onExerciseImageModifyRequest(const rti::core::SampleIdentity &cookie,
const ExerciseImageModifyRequest &request)
{
qint32 exerciseId = request.id();
qint32 exerciseId = request.id;
DEBUG_LOG(m_logger) << "onExerciseImageModifyRequest id = " << exerciseId << ", image size = " << request.image().size();
DEBUG_LOG(m_logger) << "onExerciseImageModifyRequest id = " << exerciseId << ", image size = " << request.image.size();
Database::ExmExerciseImage exImg;
exImg.exerciseId = exerciseId;
bool result = m_db->selectExmExerciseImage(exerciseId, exImg);
exImg.image = LtsUtils::toQByteArray(request.image());
exImg.image = LtsUtils::toQByteArray(request.image);
if (result)
{
@@ -617,25 +617,25 @@ void HandlerExercise::onExerciseRemoveRequest(const rti::core::SampleIdentity &c
const ExerciseManagement::ExerciseRemoveRequest &request)
{
Core::FunctionReplyObject ret;
ObjectExercise *ifs = m_exeObjMap.value(request.id());
ObjectExercise *ifs = m_exeObjMap.value(request.id);
if (ifs == nullptr)
{
ret = Core::FunctionReplyObject(request.id(), tr_lts("dds", "Exercise with id %1 not found")).arg(request.id());
ret = Core::FunctionReplyObject(request.id, tr_lts("dds", "Exercise with id %1 not found")).arg(request.id);
m_ddsHandler->fts()->exerciseRemoveReply(cookie, ret);
return;
}
ExerciseManagement::Exercise ddsData;
ddsData.id(request.id());
ddsData.id = request.id;
if (m_mainHandler->dds()->topicLockMaster()->isLocked(ddsData, 0))
{
ret = Core::FunctionReplyObject(request.id(), tr_lts("dds", "Exercise '%1' is used by another user!")).arg(ifs->data().name);
ret = Core::FunctionReplyObject(request.id, tr_lts("dds", "Exercise '%1' is used by another user!")).arg(ifs->data().name);
m_mainHandler->dds()->fts()->exerciseRemoveReply(cookie, ret);
return;
}
ret = ifs->removeObject(request.force());
ret = ifs->removeObject(request.force);
if (ret.error())
{
@@ -645,7 +645,7 @@ void HandlerExercise::onExerciseRemoveRequest(const rti::core::SampleIdentity &c
{
// delete ObjectExercise (including ExerciseStateMachine)
delete ifs;
m_exeObjMap.remove(request.id());
m_exeObjMap.remove(request.id);
}
m_ddsHandler->fts()->exerciseRemoveReply(cookie, ret);
@@ -692,8 +692,8 @@ bool HandlerExercise::checkEquipmentNumbersOnAllExercises(int exerciseIdToBeStar
const auto cb = [&eqNoForEx](const ParticipantManagement::Participant &data) -> void
{
if (data.equipmentNumber().is_set())
eqNoForEx.insert(data.equipmentNumber().get());
if (data.equipmentNumber.is_set())
eqNoForEx.insert(data.equipmentNumber.get());
};
ppmDtcForEx->participants(cb);
}
@@ -712,7 +712,7 @@ bool HandlerExercise::checkEquipmentNumbersOnAllExercises(int exerciseIdToBeStar
const auto cb = [this, &usedEqNumbers, exerciseIdToBeStarted, eqNoForEx](const ParticipantManagement::EquipmentExerciseMapping &equipmentExerciseMapping) -> void
{
const int exerciseId = equipmentExerciseMapping.exerciseId();
const int exerciseId = equipmentExerciseMapping.exerciseId;
// in case of resume exercise:
if (exerciseId == exerciseIdToBeStarted)
@@ -729,12 +729,12 @@ bool HandlerExercise::checkEquipmentNumbersOnAllExercises(int exerciseIdToBeStar
if ((ifs->exerciseState() == ExerciseState::Started) ||
(ifs->exerciseState() == ExerciseState::Paused))
{
const std::vector<ParticipantManagement::Equipment2ParticipantId> &mapping = equipmentExerciseMapping.mapping();
const std::vector<ParticipantManagement::Equipment2ParticipantId> &mapping = equipmentExerciseMapping.mapping;
for (const auto &eq2p : qAsConst(mapping))
if (eqNoForEx.contains(eq2p.equipmentNumber()))
if (eqNoForEx.contains(eq2p.equipmentNumber))
{
DEBUG_LOG(m_logger) << LOGFUNCTION << " !!! eq = " << eq2p.equipmentNumber() << " is already used in exercise =" << exerciseId;
usedEqNumbers[exerciseId].insert(eq2p.equipmentNumber());
DEBUG_LOG(m_logger) << LOGFUNCTION << " !!! eq = " << eq2p.equipmentNumber << " is already used in exercise =" << exerciseId;
usedEqNumbers[exerciseId].insert(eq2p.equipmentNumber);
}
}
};
@@ -792,17 +792,17 @@ QStringList HandlerExercise::doubleChannels(int exerciseAId, int exerciseBId) co
for (auto it = cnrConfigs.constBegin(); it != cnrConfigs.constEnd(); ++it)
{
int cnrExerciseId = it.value().exerciseId().is_set() ? it.value().exerciseId().get() : 0;
int cnrExerciseId = it.value().exerciseId.is_set() ? it.value().exerciseId.get() : 0;
if (cnrExerciseId == exerciseAId)
{
exerciseAChannelIds.append(it.value().cnrChannelId());
exerciseAChannelIds.append(it.value().cnrChannelId);
continue;
}
if (cnrExerciseId == exerciseBId)
{
exerciseBChannelIds.append(it.value().cnrChannelId());
exerciseBChannelIds.append(it.value().cnrChannelId);
continue;
}
}
@@ -814,7 +814,7 @@ QStringList HandlerExercise::doubleChannels(int exerciseAId, int exerciseBId) co
for (int exerciseAChannelId : qAsConst(exerciseAChannelIds))
{
if (exerciseBChannelIds.contains(exerciseAChannelId))
doubleChannelNames.append(QString::fromStdString(m_ddsHandler->avmDtc()->cnrChannel(exerciseAChannelId).name()));
doubleChannelNames.append(QString::fromStdString(m_ddsHandler->avmDtc()->cnrChannel(exerciseAChannelId).name));
}
return doubleChannelNames;
@@ -69,11 +69,11 @@ Core::FunctionReplyObject HandlerExercisePhase::exercisePhaseCreateRequest(const
{
Database::ExmExercisePhase newData;
newData.name = QString::fromStdString(request.name());
newData.description = QString::fromStdString(request.description());
newData.beginTime = QDateTime::fromMSecsSinceEpoch(request.beginTime());
newData.endTime = QDateTime::fromMSecsSinceEpoch(request.endTime());
newData.exerciseId = request.exerciseId();
newData.name = QString::fromStdString(request.name);
newData.description = QString::fromStdString(request.description);
newData.beginTime = QDateTime::fromMSecsSinceEpoch(request.beginTime);
newData.endTime = QDateTime::fromMSecsSinceEpoch(request.endTime);
newData.exerciseId = request.exerciseId;
ObjectExercisePhase *ifs(new ObjectExercisePhase(m_ddsHandler, m_db));
Core::FunctionReplyObject ret = ifs->createObject(newData);
@@ -122,21 +122,21 @@ void HandlerExercisePhase::onExercisePhaseModifyRequest(const rti::core::SampleI
DEBUG_LOG(m_logger) << "onExercisePhaseModifyRequest " << request;
Core::FunctionReplyObject ret;
ObjectExercisePhase *ifs = m_exercisePhaseObjMap.value(request.id());
ObjectExercisePhase *ifs = m_exercisePhaseObjMap.value(request.id);
if (ifs == nullptr)
{
ret = Core::FunctionReplyObject(request.id(), tr_lts("dds", "ExercisePhase with id %1 not found")).arg(request.id());
ret = Core::FunctionReplyObject(request.id, tr_lts("dds", "ExercisePhase with id %1 not found")).arg(request.id);
m_ddsHandler->fts()->exercisePhaseModifyReply(cookie, ret);
return;
}
Database::ExmExercisePhase data;
data.id = request.id();
data.name = QString::fromStdString(request.name());
data.description = QString::fromStdString(request.description());
data.beginTime = QDateTime::fromMSecsSinceEpoch(request.beginTime());
data.endTime = QDateTime::fromMSecsSinceEpoch(request.endTime());
data.exerciseId = request.exerciseId();
data.id = request.id;
data.name = QString::fromStdString(request.name);
data.description = QString::fromStdString(request.description);
data.beginTime = QDateTime::fromMSecsSinceEpoch(request.beginTime);
data.endTime = QDateTime::fromMSecsSinceEpoch(request.endTime);
data.exerciseId = request.exerciseId;
ret = ifs->updateObject(data);
if (ret.error())
@@ -148,30 +148,30 @@ void HandlerExercisePhase::onExercisePhaseRemoveRequest(const rti::core::SampleI
{
DEBUG_LOG(m_logger) << "onExercisePhaseRemoveRequest " << request;
Core::FunctionReplyObject ret;
ObjectExercisePhase *ifs = m_exercisePhaseObjMap.value(request.id());
ObjectExercisePhase *ifs = m_exercisePhaseObjMap.value(request.id);
if (ifs == nullptr)
{
ret = Core::FunctionReplyObject(request.id(), tr_lts("dds", "ExercisePhase with id %1 not found")).arg(request.id());
ret = Core::FunctionReplyObject(request.id, tr_lts("dds", "ExercisePhase with id %1 not found")).arg(request.id);
m_ddsHandler->fts()->exercisePhaseRemoveReply(cookie, ret);
return;
}
// check if phase is active phase in corresponding exercise
ObjectExercise *exercise = m_mainHandler->exerciseHandler()->getExerciseById(ifs->getData().exerciseId);
if (exercise->data().activePhaseId == request.id())
if (exercise->data().activePhaseId == request.id)
{
ret = Core::FunctionReplyObject(request.id(), tr_lts("dds", "ExercisePhase with id %1 is current phase in exercise")).arg(request.id());
ret = Core::FunctionReplyObject(request.id, tr_lts("dds", "ExercisePhase with id %1 is current phase in exercise")).arg(request.id);
m_ddsHandler->fts()->exercisePhaseRemoveReply(cookie, ret);
return;
}
ExerciseManagement::ExercisePhase ddsData;
ddsData.id(request.id());
ddsData.id = request.id;
if (m_mainHandler->dds()->topicLockMaster()->isLocked(ddsData, 0))
{
ret = Core::FunctionReplyObject(request.id(), tr_lts("dds", "ExercisePhase '%1' is used by another user!")).arg(ifs->getData().name);
ret = Core::FunctionReplyObject(request.id, tr_lts("dds", "ExercisePhase '%1' is used by another user!")).arg(ifs->getData().name);
m_mainHandler->dds()->fts()->exercisePhaseRemoveReply(cookie, ret);
return;
}
@@ -184,7 +184,7 @@ void HandlerExercisePhase::onExercisePhaseRemoveRequest(const rti::core::SampleI
{
// delete ObjectExercise (including ExerciseStateMachine)
delete ifs;
m_exercisePhaseObjMap.remove(request.id());
m_exercisePhaseObjMap.remove(request.id);
}
m_ddsHandler->fts()->exercisePhaseRemoveReply(cookie, ret);
@@ -135,7 +135,7 @@ bool MainHandler::initWebSocketHandler()
return false;
}
m_ddsHandler->pacemaker()->addPort(m_websocketHandler->webSocketPort(), Core::PortType::WebSocketServer);
m_ddsHandler->pacemaker()->addPort(m_websocketHandler->webSocketPort(), Core::CorePortType::WebSocketServer);
return true;
}