/** * "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 #include #include #include 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 &ddsHandler, const std::shared_ptr &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 m_dtcPdm; std::shared_ptr m_dtcPpm; std::shared_ptr m_sendToDds; UAVInterfaceAdapterManager *m_uavIAManager; int m_exerciseId; NGL::INGLLogger &m_logger; // SendToTab interface public: }; } // namespace UAS