Files
qt5-legatus-legacy/Lts/Proxies/TrainingAreaBase/Plugins/UAS/from_tab.h
T
2026-08-13 18:33:10 +02:00

104 lines
5.9 KiB
C++
Executable File

/**
* "SendToTab" implementation to receive requests from TAB (which originate from the OpApp)
* $Id$
* $HeadURL$
* $Author$
* Created by Mike Wille, ESZS, 2025-04-17
*/
#pragma once
#include <NGLLogger/INGLLogger.h>
#include <TrainingAreaBase/send_to_tab.h>
#include <TrainingAreaBase/dds_handler.h>
#include <ParticipantManagement/ppm_dtc.h>
namespace ProjectDataManagement { namespace Interface { class Dtc; } }
namespace ParticipantManagement { namespace Interface { class Dtc; } }
namespace TrainingAreaBase { class RecvFromTab; }
namespace UAS
{
class UAVInterfaceAdapterManager;
class FromTab final : public QObject, public TrainingAreaBase::SendToTab
{
Q_OBJECT
public:
explicit FromTab(const std::shared_ptr<TrainingAreaBase::DdsHandler> &ddsHandler,
const std::shared_ptr<TrainingAreaBase::RecvFromTab> &sendToDds,
UAVInterfaceAdapterManager *uavIAManager,
int exerciseId);
const char *name() const override { return "UAS"; }
HandleState canHandleTelegram(int equipmentNumber, int telegramId) const override;
void resetSendCounter() override {};
void setConnected(bool connected) { m_isConnected = connected; }
bool txData(const TrainingAreaBase::TetraIcd::Acknowledge &) override { return false; };
bool txData(const TrainingAreaBase::TetraIcd::DemandBite &) override { return false; };
bool txData(const TrainingAreaBase::TetraIcd::Init &data) override;
bool txData(const TrainingAreaBase::TetraIcd::SetVulnerabilityModel &) override { return false; };
bool txData(const TrainingAreaBase::TetraIcd::DemandEquipmentConfigurationReport &) override { return false; };
bool txData(const TrainingAreaBase::TetraIcd::DemandVulnerabilityStateChange &data) override;
bool txData(const TrainingAreaBase::TetraIcd::LanguageSelection &) override { return false; };
bool txData(const TrainingAreaBase::TetraIcd::EquipmentMessage &) override { return false; };
bool txData(const TrainingAreaBase::TetraIcd::EquipmentMessageOC &) override { return false; };
bool txData(const TrainingAreaBase::TetraIcd::CreateSingleExplosion &) override { return false; };
bool txData(const TrainingAreaBase::TetraIcd::CreateAreaExplosion &) override { return false; };
bool txData(const TrainingAreaBase::TetraIcd::CreateMineArea &) override { return false; };
bool txData(const TrainingAreaBase::TetraIcd::MineAreaSingleMineState &) override { return false; };
bool txData(const TrainingAreaBase::TetraIcd::CreateNContamination &) override { return false; };
bool txData(const TrainingAreaBase::TetraIcd::CreateCContamination &) override { return false; };
bool txData(const TrainingAreaBase::TetraIcd::DeactivateEffectSimulation &) override { return false; };
bool txData(const TrainingAreaBase::TetraIcd::ModifyAreaEffectSimulationName &) override { return false; };
bool txData(const TrainingAreaBase::TetraIcd::PauseEffectSimulation &) override { return false; };
bool txData(const TrainingAreaBase::TetraIcd::ResumeEffectSimulation &) override { return false; };
bool txData(const TrainingAreaBase::TetraIcd::MineTriggered &) override { return false; };
bool txData(const TrainingAreaBase::TetraIcd::DusMineReactivation &) override { return false; };
bool txData(const TrainingAreaBase::TetraIcd::CreateFunctionalArea &) override { return false; };
bool txData(const TrainingAreaBase::TetraIcd::CreateDusSingleMine &) override { return false; };
bool txData(const TrainingAreaBase::TetraIcd::ExerciseEnvironmentData &) override { return false; };
bool txData(const TrainingAreaBase::TetraIcd::ExerciseStateData &) override { return false; };
bool txData(const TrainingAreaBase::TetraIcd::ParticipantSwVersionsRequest &) override { return false; };
bool txData(const TrainingAreaBase::TetraIcd::OpaquePayloadDataOut &) override { return false; };
bool txData(const TrainingAreaBase::TetraIcd::TechnicalArea &) override { return false; };
bool txData(const TrainingAreaBase::TetraIcd::CesHitInformation &) override { return false; };
bool txData(const TrainingAreaBase::TetraIcd::ParticipantMode &) override { return false; };
bool txData(const TrainingAreaBase::TetraIcd::DemandParticipantMode &) override { return false; };
bool txData(const TrainingAreaBase::TetraIcd::ParticipantConfiguration &) override { return false; };
bool txData(const TrainingAreaBase::TetraIcd::DemandParticipantConfiguration &) override { return false; };
bool txData(const TrainingAreaBase::TetraIcd::ExerciseEquipmentAssignmentComplete &) override { return false; };
bool txData(const TrainingAreaBase::TetraIcd::Sanitation &) override { return false; };
bool txData(const TrainingAreaBase::TetraIcd::SelectiveReammunition &) override { return false; };
bool txData(const TrainingAreaBase::TetraIcd::SetDevicePowerRequest &) override { return false; };
bool txData(const TrainingAreaBase::TetraIcd::OcCommand &data) override;
bool txData(const TrainingAreaBase::TetraIcd::UAVPerformMission &) override;
bool txData(const TrainingAreaBase::TetraIcd::UAVChangeState &) override;
bool txData(const TrainingAreaBase::TetraIcd::CesHitRequest &) override;
bool txData(const TrainingAreaBase::TetraIcd::ExFireReadiness &) override { return false; };
bool txData(const TrainingAreaBase::TetraIcd::ExFiredReport &) override { return false; };
bool txData(const TrainingAreaBase::TetraIcd::ExConfirmationReport &) override { return false; };
bool sendToTx(const TrainingAreaBase::TetraIcd::TrainingAreaTelegram *data);
Q_SIGNALS:
void outgoingMessage(const QByteArray &msg);
protected:
bool m_isConnected;
std::shared_ptr<ProjectDataManagement::Interface::Dtc> m_dtcPdm;
std::shared_ptr<ParticipantManagement::Interface::Dtc> m_dtcPpm;
std::shared_ptr<TrainingAreaBase::RecvFromTab> m_sendToDds;
UAVInterfaceAdapterManager *m_uavIAManager;
int m_exerciseId;
NGL::INGLLogger &m_logger;
// SendToTab interface
public:
};
} // namespace UAS