Files
qt5-legatus-legacy/Lts/Services/EffectShowClient/esc_convert_to_tab.h
T
2026-08-13 18:33:10 +02:00

70 lines
2.0 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_dtc.h>
#include <QString>
namespace EffectShowClient
{
/**
* @brief Converts the data telegrams to be sent to Training Area Base proxy.
*
* For the telegram data to be converted see GUEZSB60_ICD-0046C.
*/
namespace ConvertToTab
{
/**
* @brief Order types.
*/
enum class OrderType_e { 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 telegram for order confirmation data.
* @param[in] orderConfirmation Order Confirmation
* @return Telegram for order confirmation data
*/
std::vector<uint8_t> convertOrderConfirmation(const OrderConfirmation_t &orderConfirmation);
/**
* @brief Order confirmation data. ICD Tele: DMF-Auftragsbestaetigung; Parameter: Bestaetigung
*/
struct VehicleStatus_t
{
int operational = 0;
int ammunitionMagazine = 0;
int ammunitionAvailable = 0;
int feature = 0;
bool inclinationSensorFail = false;
bool navigationFail = false;
bool airSpeedMeterFail = false;
bool controlComputerFail = false;
bool magazineFail = false;
};
/**
* @brief Returns the telegram for effect show vehicle status data.
* @param[in] vehicleStatus Vehicle Status data
* @return Telegram for vehicle status data
*/
std::vector<uint8_t> convertVehicleStatus(const VehicleStatus_t &vehicleStatus);
} // namespace ConvertToTab
} //namespace EffectShowClient