Files
qt-migration-legatus/qt6-after/qt6-migrated-legatus/Lts/Services/EffectShowClient/esc_convert_to_tab.cpp
T
torstenandCopilot 7a6be7474e Qt6 migration: Fix BUILD_RTI=OFF build errors in TrainingAreaBase
- training_area_telegrams.cpp: Fixed QJsonObject initializer syntax (Qt6 requires {{}} not ({}))
- training_area_telegrams.cpp: Fixed fromJson() methods to access m_* members directly
- training_area_telegrams.cpp: Fixed brace mismatches in multiple toJson() methods
- training_area_telegrams.h: Changed Header struct to public members for consistency
- tx_mixin.cpp: Fixed getEquipmentNumber() template for direct member access
- lts_coordinate.cpp: Added missing #include <iomanip>
- MIGRATION_STATUS.md: Added migration progress tracking document

C++17 constraint enforced due to RTI Connext DDS 7.7.0 incompatibility with C++20+

Build status: BUILD_RTI=OFF successful (0 errors, warnings only)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-08-23 20:49:23 +02:00

65 lines
1.9 KiB
C++
Executable File

/**
* @RDE_HEADER@
* MeteoDataManagement - Static Meteo Data Edit Dialog
* $Id$
* $HeadURL$
* $Author$
* Created by hjl, SLSE, 2016-10-17
*/
#include "esc_convert_to_tab.h"
#include <LtsUtils/qbytearray_byteaccess.h>
#include <LtsUtils/LtsUtilsCore/dds_vector.h>
#include <QtCore/QByteArray>
namespace EffectShowClient
{
namespace ConvertToTab
{
//=============================================================================
std::vector<uint8_t> convertOrderConfirmation(const OrderConfirmation_t &orderConfirmation)
{
QByteArray ba;
ba.reserve(45);
LtsUtils::set1Byte(120, ba);
LtsUtils::set1Byte(int(orderConfirmation.orderType), ba);
LtsUtils::set2Byte(orderConfirmation.orderId, ba);
LtsUtils::set1Byte(orderConfirmation.confirmation.underlying(), ba);
const QByteArray txt = orderConfirmation.answerText.toUtf8();
const int len = txt.length() > 39 ? 39 : txt.length();
for (int i = 0; i < len; ++i)
LtsUtils::set1Byte(txt.at(i), ba);
return LtsUtils::convert<std::vector<uint8_t>>(ba);
}
//=============================================================================
std::vector<uint8_t> convertVehicleStatus(const VehicleStatus_t &vehicleStatus)
{
QByteArray ba;
ba.reserve(5);
LtsUtils::set1Byte(121, ba);
LtsUtils::set1Byte(vehicleStatus.operational ? 1 : 0, ba);
LtsUtils::set1Byte(vehicleStatus.ammunitionMagazine, ba);
LtsUtils::set1Byte(vehicleStatus.ammunitionAvailable, ba);
uint8_t byte = 0;
if (vehicleStatus.inclinationSensorFail) byte = byte | 0x80;
if (vehicleStatus.navigationFail) byte = byte | 0x40;
if (vehicleStatus.airSpeedMeterFail) byte = byte | 0x20;
if (vehicleStatus.controlComputerFail) byte = byte | 0x10;
if (vehicleStatus.magazineFail) byte = byte | 0x08;
byte = byte | ((uint8_t)vehicleStatus.feature << 1);
LtsUtils::set1Byte(byte, ba);
return LtsUtils::convert<std::vector<uint8_t>>(ba);
}
} // namespace ConvertToTab
} // namespace EffectShowClient