104 lines
5.9 KiB
C++
Executable File
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
|