/** * Plugin CES Mission Plan * $Id: $ * $HeadURL: svn://slssvn/TDS/branches/product/features/25_03_etb_uas/Lts/Services/CentralEffectSimulation/Plugins/MissionPlan/plugin.h $ * $Author: Kemayou_s $ * Created by Steve Kemayou, ESZS, 2025-06-25 */ #pragma once #include #include "ces_mission_plan_handler.h" #include #include #include #include #include namespace CES_MISSIONPLAN { class CesMissionPlanPlugin : public QObject, public CentralEffectSimulation::Plugin::Plugin { Q_OBJECT Q_PLUGIN_METADATA(IID "special:3:ces.CesMissionPlanPlugin") Q_INTERFACES(CentralEffectSimulation::Plugin::Plugin) public: CesMissionPlanPlugin() = default; ~CesMissionPlanPlugin() = default; std::shared_ptr createInterface(CentralEffectSimulation::Plugin::DataProvider *pdp, const std::shared_ptr &dDSConnector, NGL::Settings *settings, CentralEffectSimulation::MainHandler *mainHandler) override; }; class CES_MissionPlanInterfaceImpl final : public CentralEffectSimulation::Plugin::Interface { Q_OBJECT public: CES_MissionPlanInterfaceImpl(CentralEffectSimulation::Plugin::DataProvider *pdp, const std::shared_ptr &dDSConnector, NGL::Settings *settings, CentralEffectSimulation::MainHandler *mainHandler); ~CES_MissionPlanInterfaceImpl(); //bool init(); const char *name() const override { return "CesMissionPlanPlugin"; } QString echo(const QString &message) override; private Q_SLOTS: bool init(int domainId, int exerciseId) override; private: private: CentralEffectSimulation::Plugin::DataProvider *m_pdp{nullptr}; std::shared_ptr m_ddsConnector; CentralEffectSimulation::MainHandler *m_mainHandler{nullptr}; std::shared_ptr m_ddsHandler; std::shared_ptr m_db; std::shared_ptr m_handlerParticipant; ///< Pointer to handler for all participants std::shared_ptr m_missionPlanHandler; /// CentralEffectSimulation::LOGGER_T &m_logger; ///< Interface to the Logging-Facility int m_domainId = 0; int m_exerciseId = 0; }; } // namespace CES_MISSIONPLAN