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