/** * Plugin CES TargetAreas * $Id$ * $HeadURL$ * $Author$ * Created by Gerlinde Rudolphus, SLTE, 2016-04-14 */ #pragma once #include #include #include #include #include "handler_target_areas.h" namespace TargetAreas { class TargetAreasPlugin : public QObject, public CentralEffectSimulation::Plugin::Plugin { Q_OBJECT Q_PLUGIN_METADATA(IID "special:3:ces.TargetAreasPlugin") Q_INTERFACES(CentralEffectSimulation::Plugin::Plugin) public: TargetAreasPlugin() = default; ~TargetAreasPlugin() = default; std::shared_ptr createInterface(CentralEffectSimulation::Plugin::DataProvider *pdp, const std::shared_ptr dDSConnector, NGL::Settings *settings) override; }; class TargetAreasInterfaceImpl final : public CentralEffectSimulation::Plugin::Interface { Q_OBJECT public: TargetAreasInterfaceImpl(CentralEffectSimulation::Plugin::DataProvider *pdp, const std::shared_ptr dDSConnector, NGL::Settings *settings); ~TargetAreasInterfaceImpl(); //bool init(); const char *name() const override { return "TargetAreas"; } QString echo(const QString &message); private Q_SLOTS: bool init(int domain_id, int exerciseId) override; private: private: CentralEffectSimulation::Plugin::DataProvider *m_pdp; std::shared_ptr m_ddsConnector; std::shared_ptr m_handlerTargetAreas; std::shared_ptr m_ddsHandlerTargetAreas; NGL::INGLLogger &m_logger; int m_domainId; int m_exerciseId; }; } // namespace TargetAreas