Migrates OcSituation and ServiceManagement to generated rtiddsgen API

Converts accessor calls to plain member access in osc, oss and obd services.
This commit is contained in:
berrux-dev committed 2026-09-21 02:46:47 +02:00
1 parent 95071993f5
commit 3ec4208139
30 files changed
+1000 -1007

No files matched your search

@@ -252,7 +252,7 @@ void HandlerOcData::onOcDataChanged(const TrainingAreaBase::OcData &data, DataMo
if ((modType != DataModification::eAdded) && (modType != DataModification::eModified))
return;
QByteArray payload = LtsUtils::toQByteArray(data.payload());
QByteArray payload = LtsUtils::toQByteArray(data.payload);
unsigned int telegramId;
LtsUtils::get1Byte(payload, telegramId);
@@ -309,10 +309,10 @@ void HandlerOcData::onTechnicalStateSfmChanged(const TrainingAreaBaseOC::Technic
if ((modType != DataModification::eAdded) && (modType != DataModification::eModified))
return;
if (m_licensed != data.licensed())
if (m_licensed != data.licensed)
{
m_licensed = data.licensed();
if (data.licensed())
m_licensed = data.licensed;
if (data.licensed)
{
DEBUG_LOG(m_logger) << "Newly licensed -> demanding situation / sending messages";
demandSituation(true);
@@ -327,13 +327,13 @@ void HandlerOcData::onOwnPosition(const TrainingAreaBaseOC::OwnPosition &data, D
return;
TrainingAreaBase::EquipmentPosition out;
out.sampleTime(data.timeStamp());
out.position().position(Core::GeoPosition(data.position().lon(), data.position().lat(), 0));
if (data.moutObjectId().is_set())
out.position().moutObjectId().set(data.moutObjectId().get());
if (data.moutRoomId().is_set())
out.position().moutRoomId().set(data.moutRoomId().get());
out.equipmentNumber(m_tabocDtc->specificsEquipment(1).equipmentNumber());
out.sampleTime = data.timeStamp;
out.position.position(Core::GeoPosition(data.position.lon, data.position.lat, 0));
if (data.moutObjectId.is_set())
out.position.moutObjectId.set(data.moutObjectId.get());
if (data.moutRoomId.is_set())
out.position.moutRoomId.set(data.moutRoomId.get());
out.equipmentNumber = m_tabocDtc->specificsEquipment(1).equipmentNumber;
m_tabDts->publish(out);
}
@@ -342,12 +342,12 @@ void HandlerOcData::onOperatorMessageChanged(const Messaging::OperatorMessage &d
{
if (DataModification::eRemoved == modType)
return;
DEBUG_LOG(m_logger) << data.recipientId() << "new message changed is send" << data.isSend() << " id" << data.id() ;
const int ownEqNo = m_tabocDtc->specificsEquipment(1).equipmentNumber();
if (data.recipientId() > 0)
DEBUG_LOG(m_logger) << data.recipientId << "new message changed is send" << data.isSend << " id" << data.id ;
const int ownEqNo = m_tabocDtc->specificsEquipment(1).equipmentNumber;
if (data.recipientId > 0)
{
if (data.isSend() ||
((data.recipientType() == Messaging::AddressType::ObserverController) && (data.recipientId() == getParticipantIdByEquipmentNumber(ownEqNo))))
if (data.isSend ||
((data.recipientType == Messaging::AddressType::ObserverController) && (data.recipientId == getParticipantIdByEquipmentNumber(ownEqNo))))
return; // is already send or its a message we have received from TETRA
}
else
@@ -358,37 +358,37 @@ void HandlerOcData::onOperatorMessageChanged(const Messaging::OperatorMessage &d
QByteArray payload;
LtsUtils::set1Byte(OcSituation::TelegramId::Message, payload);
if (data.recipientType() == Messaging::AddressType::Operator)
LtsUtils::set2Byte(data.recipientId(), payload);
if (data.recipientType == Messaging::AddressType::Operator)
LtsUtils::set2Byte(data.recipientId, payload);
else
{
const auto participantEqNo = m_ppmDtc->participant(data.recipientId()).equipmentNumber();
const auto participantEqNo = m_ppmDtc->participant(data.recipientId).equipmentNumber;
if (!participantEqNo.is_set())
{
WARNING_LOG(m_logger) << "Recipient with id " << data.recipientId() << " has no equipment number set - can not send message";
WARNING_LOG(m_logger) << "Recipient with id " << data.recipientId << " has no equipment number set - can not send message";
return;
}
LtsUtils::set2Byte(participantEqNo.get(), payload);
}
LtsUtils::set1Byte(data.recipientType().underlying(), payload);
LtsUtils::set1Byte(data.recipientType, payload);
// always send with our own equipment number
LtsUtils::set2Byte(ownEqNo, payload);
LtsUtils::set1Byte(Messaging::AddressType::ObserverController, payload);
LtsUtils::set2Byte(data.exerciseId(), payload);
LtsUtils::set2Byte(data.exerciseId, payload);
payload.append(QByteArray::fromStdString(data.subject()));
payload.append(QByteArray::fromStdString(data.subject));
payload.append('\n'); // separating subject from message
payload.append(QByteArray::fromStdString(data.message()));
payload.append(QByteArray::fromStdString(data.message));
TrainingAreaBase::SendOcDataRequest out;
out.payload(LtsUtils::convert<std::vector<uint8_t>>(payload));
out.payload = LtsUtils::convert<std::vector<uint8_t>>(payload);
DEBUG_LOG(m_logger) << "Sending operator message: " << data;
m_tabFtc->sendOcDataRequest(out, this);
m_msgFtc->modifyOperatorMessageRequest(Messaging::ModifyOperatorMessageRequest(data.id(), data.isRead(), true, data.isDeleted()), this);
m_msgFtc->modifyOperatorMessageRequest(Messaging::ModifyOperatorMessageRequest(data.id, data.isRead, true, data.isDeleted), this);
}
}
@@ -401,14 +401,14 @@ void HandlerOcData::onUserChanged(const OperatorManagement::User &data, DataModi
{
TRACE_LOG(m_logger) << LOGFUNCTION;
if (modType != DataModification::eModified || data.id() == 99) // id 99 = Organisator
if (modType != DataModification::eModified || data.id == 99) // id 99 = Organisator
return;
// on the abt there is only one user logged in, so if the workstation id of any
// user changes, we remember the user. now we are able to see, if the user logs out
if (data.workstationId() != 0)
if (data.workstationId != 0)
{
DEBUG_LOG(m_logger) << "User " << data.name() << " logged in.";
DEBUG_LOG(m_logger) << "User " << data.name << " logged in.";
m_user = data;
@@ -417,9 +417,9 @@ void HandlerOcData::onUserChanged(const OperatorManagement::User &data, DataModi
// if we get new information about the user we remembered and the workstation id is 0, the use is logged out
// or all applications are closed. now we have to stop situation data (if already requested) and forget the user.
if (m_user.id() == data.id() && data.workstationId() == 0)
if (m_user.id == data.id && data.workstationId == 0)
{
DEBUG_LOG(m_logger) << "User " << m_user.name() << " logged out.";
DEBUG_LOG(m_logger) << "User " << m_user.name << " logged out.";
if (m_centerEquipmentId > 0 || m_position.is_set())
{
@@ -441,7 +441,7 @@ void HandlerOcData::onUserChanged(const OperatorManagement::User &data, DataModi
void HandlerOcData::onSendDemandEvaluationSchemaRequest(const rti::core::SampleIdentity &cookie, const SendDemandEvaluationSchemaRequest &request)
{
demandEvaluationSchema(request.schemaId());
demandEvaluationSchema(request.schemaId);
m_fts->sendDemandEvaluationSchemaReply(cookie, Core::FunctionReplyObject());
}
@@ -451,20 +451,20 @@ void HandlerOcData::onSendEvaluationRequest(const rti::core::SampleIdentity &coo
QByteArray payload;
LtsUtils::set1Byte(OcSituation::TelegramId::Evaluation, payload);
LtsUtils::set2Byte(request.schemaId(), payload);
LtsUtils::set4Byte(request.senderOperatorId(), payload);
if (request.receiverOperatorId().is_set())
LtsUtils::set4Byte(request.receiverOperatorId().get(), payload);
LtsUtils::set2Byte(request.schemaId, payload);
LtsUtils::set4Byte(request.senderOperatorId, payload);
if (request.receiverOperatorId.is_set())
LtsUtils::set4Byte(request.receiverOperatorId.get(), payload);
else
LtsUtils::set4Byte(0, payload);
LtsUtils::set8Byte(request.timeStamp(), payload);
LtsUtils::set2Byte(request.hierarchy().size(), payload);
payload.append(request.hierarchy().c_str(), request.hierarchy().size());
LtsUtils::set2Byte(request.text().size(), payload);
payload.append(request.text().c_str(), request.text().size());
LtsUtils::set8Byte(request.timeStamp, payload);
LtsUtils::set2Byte(request.hierarchy.size(), payload);
payload.append(request.hierarchy.c_str(), request.hierarchy.size());
LtsUtils::set2Byte(request.text.size(), payload);
payload.append(request.text.c_str(), request.text.size());
TrainingAreaBase::SendOcDataRequest out;
out.payload(LtsUtils::convert<std::vector<uint8_t>>(payload));
out.payload = LtsUtils::convert<std::vector<uint8_t>>(payload);
m_tabFtc->sendOcDataRequest(out, this);
@@ -475,12 +475,12 @@ void HandlerOcData::onSendDemandSituationRequest(const rti::core::SampleIdentity
{
DEBUG_LOG(m_logger) << "New demand situation request from UI: " << request;
m_centerEquipmentId = request.centerEquipmentId();
m_radius = request.radius();
m_position = request.position();
m_useFilter = request.filterActive();
m_typeClassList = request.typeClassList();
m_partyList = request.partyList();
m_centerEquipmentId = request.centerEquipmentId;
m_radius = request.radius;
m_position = request.position;
m_useFilter = request.filterActive;
m_typeClassList = request.typeClassList;
m_partyList = request.partyList;
demandSituation(true);
@@ -490,7 +490,7 @@ void HandlerOcData::onSendDemandSituationRequest(const rti::core::SampleIdentity
void HandlerOcData::onSendEquipmentMessageOcRequest(const rti::core::SampleIdentity &cookie, const OcSituationServer::SendEquipmentMessageRequest &request)
{
// just answer so the messaging service does work normally, messages are send when received from DTC
m_ossFts->sendEquipmentMessageOcReply(cookie, Core::FunctionReplyObject(request.requestId()));
m_ossFts->sendEquipmentMessageOcReply(cookie, Core::FunctionReplyObject(request.requestId));
return;
}
@@ -499,22 +499,22 @@ void HandlerOcData::onSendEquipmentErrorRegistrationRequest(const rti::core::Sam
QByteArray payload;
LtsUtils::set1Byte(OcSituation::TelegramId::EquipmentErrorRegistration, payload);
LtsUtils::set2Byte(request.ocEquipmentNumber(), payload);
LtsUtils::set2Byte(request.ocEquipmentNumber, payload);
QByteArray faultEquipmentNumber(QByteArray::fromStdString(request.faultEquipmentNumber()));
QByteArray faultEquipmentNumber(QByteArray::fromStdString(request.faultEquipmentNumber));
faultEquipmentNumber.resize(36); // see ICD
payload.append(faultEquipmentNumber);
QByteArray device(QByteArray::fromStdString(request.device()));
QByteArray device(QByteArray::fromStdString(request.device));
device.resize(36); // see ICD
payload.append(device);
QByteArray text(QByteArray::fromStdString(request.text()));
QByteArray text(QByteArray::fromStdString(request.text));
if (text.size() > 255)
text.resize(255);
LtsUtils::set1Byte(text.size(), payload);
payload.append(text);
TrainingAreaBase::SendOcDataRequest out;
out.payload(LtsUtils::convert<std::vector<uint8_t>>(payload));
out.payload = LtsUtils::convert<std::vector<uint8_t>>(payload);
m_tabFtc->sendOcDataRequest(out, this);
m_fts->sendEquipmentErrorRegistrationReply(cookie, Core::FunctionReplyObject());
@@ -525,12 +525,12 @@ void HandlerOcData::onSendEquipmentRegistrationRequest(const rti::core::SampleId
QByteArray payload;
LtsUtils::set1Byte(OcSituation::TelegramId::EquipmentRegistration, payload);
LtsUtils::set2Byte(request.participantId(), payload);
LtsUtils::set2Byte(request.equipmentNumber(), payload);
LtsUtils::set2Byte(request.participantId, payload);
LtsUtils::set2Byte(request.equipmentNumber, payload);
TrainingAreaBase::SendOcDataRequest out;
out.payload(LtsUtils::convert<std::vector<uint8_t>>(payload));
out.payload = LtsUtils::convert<std::vector<uint8_t>>(payload);
m_tabFtc->sendOcDataRequest(out, this);
DEBUG_LOG(m_logger) << "try send out to OcData";
@@ -547,14 +547,14 @@ void HandlerOcData::demandEvaluationSchema(int schemaId)
LtsUtils::set2Byte(schemaId, payload);
TrainingAreaBase::SendOcDataRequest out;
out.payload(LtsUtils::convert<std::vector<uint8_t>>(payload));
out.payload = LtsUtils::convert<std::vector<uint8_t>>(payload);
m_tabFtc->sendOcDataRequest(out, this);
}
void HandlerOcData::demandSituation(bool initial)
{
if (!m_tabocDtc->technicalStateSfm(1).licensed())
if (!m_tabocDtc->technicalStateSfm(1).licensed)
return;
if (m_centerEquipmentId < -1)
@@ -592,8 +592,8 @@ void HandlerOcData::demandSituation(bool initial)
if (m_position.is_set())
{
LtsUtils::set1Byte(OcSituation::SituationCenterType::Position, payload);
LtsUtils::set8Byte(m_position.get().lon(), payload);
LtsUtils::set8Byte(m_position.get().lat(), payload);
LtsUtils::set8Byte(m_position.get().lon, payload);
LtsUtils::set8Byte(m_position.get().lat, payload);
}
else
{
@@ -615,7 +615,7 @@ void HandlerOcData::demandSituation(bool initial)
}
TrainingAreaBase::SendOcDataRequest out;
out.payload(LtsUtils::convert<std::vector<uint8_t>>(payload));
out.payload = LtsUtils::convert<std::vector<uint8_t>>(payload);
m_tabFtc->sendOcDataRequest(out, this);
@@ -635,7 +635,7 @@ void HandlerOcData::demandAesItems(OcSituation::AesType aesType)
LtsUtils::set1Byte(aesType, payload);
TrainingAreaBase::SendOcDataRequest out;
out.payload(LtsUtils::convert<std::vector<uint8_t>>(payload));
out.payload = LtsUtils::convert<std::vector<uint8_t>>(payload);
m_tabFtc->sendOcDataRequest(out, this);
}
@@ -646,7 +646,7 @@ void HandlerOcData::sendNewMessages()
auto cb = [this](const Messaging::OperatorMessage & message)
{
if (message.recipientId() > 0 && !message.isSend())
if (message.recipientId > 0 && !message.isSend)
onOperatorMessageChanged(message, DataModification::eModified);
};
m_msgDtc->operatorMessages(cb);
@@ -662,9 +662,9 @@ void HandlerOcData::handleMessage(const QByteArray &data)
// get receiver
LtsUtils::get2Byte(data, pos, tmp);
int ownParticipantId = getParticipantIdByEquipmentNumber(m_tabocDtc->specificsEquipment(1).equipmentNumber());
int ownParticipantId = getParticipantIdByEquipmentNumber(m_tabocDtc->specificsEquipment(1).equipmentNumber);
if (ownParticipantId > 0)
out.recipientIds().push_back(ownParticipantId);
out.recipientIds.push_back(ownParticipantId);
else
{
ERROR_LOG(m_logger) << "Receiver invalid, do not publish message.";
@@ -673,14 +673,14 @@ void HandlerOcData::handleMessage(const QByteArray &data)
// get address type
LtsUtils::get1Byte(data, pos, tmp);
out.recipientType(Messaging::AddressType::ObserverController);
out.recipientType = Messaging::AddressType::ObserverController;
// get sender
LtsUtils::get2Byte(data, pos, tmp);
out.senderId(tmp);
out.senderId = tmp;
// get address type
LtsUtils::get1Byte(data, pos, addressType);
out.senderType(static_cast<Messaging::AddressType::inner_enum>(addressType));
out.senderType = static_cast<Messaging::AddressType>(addressType);
/*
if (addressType == Messaging::AddressType::ObserverController)
{
@@ -698,19 +698,19 @@ void HandlerOcData::handleMessage(const QByteArray &data)
*/
//excerciseID
LtsUtils::get2Byte(data, pos, tmp);
out.exerciseId(tmp);
out.exerciseId = tmp;
//text
const QByteArray msg(data.right(data.size() - pos));
int idx = msg.indexOf('\n');
if (idx < 0)
{
out.subject((tr("Message from %1").arg(out.senderId())).toStdString());
out.message(msg.constData());
out.subject = (tr("Message from %1").arg(out.senderId)).toStdString();
out.message = msg.constData();
}
else
{
out.subject(msg.left(idx).constData());
out.message(msg.mid(idx + 1).constData());
out.subject = msg.left(idx).constData();
out.message = msg.mid(idx + 1).constData();
}
DEBUG_LOG(m_logger) << "Got new message: " << out;
@@ -726,12 +726,12 @@ void HandlerOcData::handleEvaluationSchema(const QByteArray &data)
// get schema id
LtsUtils::get2Byte(data, pos, tmp);
out.id(static_cast<int>(tmp) * -1); // to mark as from oc
out.id = static_cast<int>(tmp) * -1; // to mark as from oc
// get schema string
const QByteArray uncompressed = MainHandler::tryUncompress(data.mid(pos), true);
out.schemadata(uncompressed.toStdString());
out.schemadata = uncompressed.toStdString();
// set sendToTa true
out.sendToTa(true);
out.sendToTa = true;
DEBUG_LOG(m_logger) << "Got new evaluation schema: ";