/** * Plugin Artillery Sound * $Id$ * $HeadURL$ * $Author$ * Created by Gerlinde Rudolphus, SLTE, 2016-04-14 */ #pragma once #include "handler_artillerie_sound.h" #include #include #include #include #include #include #include namespace CesArtillerySound { // 29.11.2024, Norbert Thoden: // a) das PluginHandling wurde vereinfacht, sprich 'nur' mainHandler übergeben statt explizit ddsHandler, dbhandler etc // b) Loggder überarbeiten (logger{h,cpp} und ces_export.h entsorgen // c) Bereinigung des Namensschema: CentralEffectSimulation2DPlugin -> CentralEffectSimulationArtillerySoundPlugin class CentralEffectSimulationArtillerySoundPlugin : public QObject, public CentralEffectSimulation::Plugin::Plugin { Q_OBJECT Q_PLUGIN_METADATA(IID "special:3:ces.CentralEffectSimulationArtillerySoundPlugin") Q_INTERFACES(CentralEffectSimulation::Plugin::Plugin) public: CentralEffectSimulationArtillerySoundPlugin() = default; ~CentralEffectSimulationArtillerySoundPlugin() = default; std::shared_ptr createInterface(CentralEffectSimulation::Plugin::DataProvider *pdp, const std::shared_ptr &dDSConnector, NGL::Settings *settings, CentralEffectSimulation::MainHandler *mainHandler) override; }; //class CentralEffectSimulation2DPlugin : public QObject, public CentralEffectSimulation::Plugin::Plugin //{ // Q_OBJECT // Q_PLUGIN_METADATA(IID "special:3:ces.CentralEffectSimulation2DPlugin") // Q_INTERFACES(CentralEffectSimulation::Plugin::Plugin) //public: // CentralEffectSimulation2DPlugin() = default; // ~CentralEffectSimulation2DPlugin() = default; // std::shared_ptr createInterface(CentralEffectSimulation::Plugin::DataProvider *pdp, // const std::shared_ptr &dDSConnector, // NGL::Settings *settings, // CentralEffectSimulation::MainHandler *mainHandler) override; //}; class CesArtillerySoundInterfaceImpl final : public CentralEffectSimulation::Plugin::Interface { Q_OBJECT public: CesArtillerySoundInterfaceImpl(CentralEffectSimulation::Plugin::DataProvider *pdp, const std::shared_ptr &dDSConnector, NGL::Settings *settings, CentralEffectSimulation::MainHandler *mainHandler); ~CesArtillerySoundInterfaceImpl(); //bool init(); const char *name() const override { return "CentralEffectSimulation2D"; } QString echo(const QString &/*message*/) override { return QString();} private Q_SLOTS: bool init(int domainId, int exerciseId) override; private: private: CentralEffectSimulation::Plugin::DataProvider *m_pdp; std::shared_ptr m_ddsConnector; std::shared_ptr m_ddsHandler; std::shared_ptr m_db; std::shared_ptr m_handlerBuildingData; ///< Pointer to AES Building handler std::shared_ptr m_handlerParticipant; ///< Pointer to handler for all participants std::shared_ptr m_handlerArtillerieSound; /// < Pointer to handler for Artillerie Sound NGL::INGLLogger &m_logger; int m_domainId = 0; int m_exerciseId = 0; }; } // namespace CesArtillerySound