/** * @RDE_HEADER@ * HMI Plugin for ExerciseManangement * $Id$ * $HeadURL$ * $Author$ * Created by Christian Ehrlicher, SLSE, 2016-02-29 */ #pragma once #include #include namespace MarkerManagement { class DataPlugin final : public QObject, public DataPluginBase::Plugin { Q_PLUGIN_METADATA(IID "data:3:mrk") Q_INTERFACES(DataPluginBase::Plugin) Q_OBJECT public: DataPlugin() = default; ~DataPlugin() = default; QString pluginName() const override { return QStringLiteral("MarkerManagement"); } std::shared_ptr createDataInterface(LtsSession::LtsSessionDataDds *session) override; bool availableInPartition(IDL::PartitionType ) const override { return true; } }; class DataInterfaceImpl final : public DataInterface { public: DataInterfaceImpl(const std::shared_ptr &dtc, const std::shared_ptr &ftc); std::shared_ptr getDtc() override { return m_dtc; } std::shared_ptr getFtc() override { return m_ftc; } std::shared_ptr getForeignDataInterface() override { return m_foreignInterface; } private: std::shared_ptr m_dtc; std::shared_ptr m_ftc; std::shared_ptr m_foreignInterface; }; class ForeignInterfaceImpl final : public QObject, public ForeignDataInterface { Q_OBJECT public: ForeignInterfaceImpl(const std::shared_ptr &dtc, const std::shared_ptr &ftc); // ForeignInterface bool setMarker(const Marker &marker, MarkerManagement::Interface::Ftc::MarkerModifyReplyHandler *handler) override; std::shared_ptr getDtc() override { return m_dtc; } private: std::shared_ptr m_dtc; std::shared_ptr m_ftc; }; } // namespace MarkerManagement