Files
qt-migration-legatus/qt6-after/qt6-migrated-legatus/Lts/Services/EffectShowManagement/esm_convert_from_tab.h
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

81 lines
2.3 KiB
C++
Executable File

/**
* @RDE_HEADER@
* MeteoDataManagement - Static Meteo Data Edit Dialog
* $Id$
* $HeadURL$
* $Author$
* Created by hjl, SLSE, 2016-10-17
*/
#pragma once
#include <TrainingAreaBase/tab_dtc.h>
#include <EffectShowManagement/esm_db.h>
#include <QtCore/QString>
namespace EffectShowManagement
{
/**
* @brief Converts the data telegrams received from Training Area Base proxy.
*
* For the telegram data to be converted see GUEZSB60_ICD-0046C.
*/
namespace ConvertFromTab
{
/**
* @brief Rx Telegram types.
*/
enum class RxTelegram_e { OrderConfirmation, VehicleStatus, unknown };
/**
* @brief Returns the type of telegram related to the received data.
* @return The type of the telegram
*/
RxTelegram_e isTelegram(const TrainingAreaBase::FireSmokeMarkerData &data);
/**
* @brief Order types.
*/
enum class OrderType_e : qint8 { Relocation = 0, EffectShow = 1 };
/**
* @brief Order confirmation data. ICD Tele: DMF-Auftragsbestaetigung; Parameter: Bestaetigung
*/
struct OrderConfirmation_t
{
OrderType_e orderType = OrderType_e::Relocation; // 0=Relocation; 1=Effect Show
qint16 orderId = 0; // Id of relocation or effect show
EffectShowManagement::OrderConfirmation_e confirmation = EffectShowManagement::OrderConfirmation_e::WaitingForAcceptance;
QString answerText;
};
/**
* @brief Returns the order confirmation data.
* @return Order confirmation data.
*/
OrderConfirmation_t getOrderConfirmation(const TrainingAreaBase::FireSmokeMarkerData &data);
/**
* @brief Order confirmation data. ICD Tele: DMF-Auftragsbestaetigung; Parameter: Bestaetigung
*/
struct VehicleStatus_t
{
qint64 timestamp = 0;
int equipmentNumber = 0;
int operational = 0;
int ammunitionMagazine = 0;
int feature = 0;
quint8 ammunitionAvailable = 0;
bool inclinationSensorFail = false;
bool navigationFail = false;
bool airSpeedMeterFail = false;
bool controlComputerFail = false;
bool magazineFail = false;
};
/**
* @brief Returns the effect show vehicle status data.
* @return Effect show vehicle status data.
*/
VehicleStatus_t getVehicleStatus(const TrainingAreaBase::FireSmokeMarkerData &data);
} // namespace ConvertFromTab
} // namespace EffectShowManagement