/** * Handle the mapping real aircraft <-> nasat configuration * $Id$ * $HeadURL$ * $Author$ * Created by Christian Ehrlicher, SLSE, 2018-08-02 */ #pragma once #include #include #include #include #include #include "logger.h" #include "guez_nasat_telegrams.h" namespace GuezNasat { class DatabaseInterface; class Initialization; class HandlerNasatAircraft final : public QObject , protected Interface::Fts::ModifyNasatAircraftRequestHandler { Q_OBJECT public: explicit HandlerNasatAircraft(Initialization *mainHandler); ~HandlerNasatAircraft(); bool init(); int nasatIdFromNasatAircraftId(int nasatAircraftId) const; public Q_SLOTS: void simulationStatusChanged(const NasatSimulationStatus &data); void flaFluSimulationChanged(int nasatId, bool bSimulationActive); Q_SIGNALS: void activateNasatAircraftSimulation(int nasatId, bool bActivateSimulation); void nasatIdChanged(int oldNasatId, int newNasatId); protected: void onModifyNasatAircraftRequest(const rti::core::SampleIdentity &cookie, const NasatAircraft &request) override; Core::FunctionReplyObject createNasatAircraftRequest(const NasatAircraft &request); Core::FunctionReplyObject modifyNasatAircraftRequest(const NasatAircraft &request); private: Initialization *m_mainHandler; std::shared_ptr m_dts; std::shared_ptr m_fts; std::shared_ptr m_db; QHash m_nasatAircrafts; NGL::INGLLogger &m_logger; }; } // namespace GuezNasat