#pragma once #include #include #include #include namespace SAAInterfaceAdapterAdler { class DataPlugin final : public DataPluginBase::Plugin { Q_PLUGIN_METADATA(IID "data:3:saa") Q_OBJECT public: DataPlugin() = default; ~DataPlugin() = default; QString pluginName() const override { return QStringLiteral("SAAInterfaceAdapterAdler"); } std::shared_ptr createDataInterface(LtsSession::LtsSessionDataDds *session) override; bool availableInPartition(IDL::PartitionType partition) const override { return partition == IDL::PartitionType::Exercise ; } }; class DataInterfaceImpl final : public DataInterface { public: DataInterfaceImpl(LtsSession::LtsSessionDataDds *session, const std::shared_ptr &ppmDtc, const std::shared_ptr &ppmFtc); std::shared_ptr getDtc() override { return m_ppmDtc; } std::shared_ptr getFtc() override { return m_ppmFtc; } private: std::shared_ptr m_ppmDtc; std::shared_ptr m_ppmFtc; LtsSession::LtsSessionDataDds *m_session; }; }