#pragma once #include #include namespace AdvancedSymbology { class DataPlugin final : public DataPluginBase::Plugin { Q_PLUGIN_METADATA(IID "data:3:asb") Q_OBJECT public: DataPlugin() = default; ~DataPlugin() = default; QString pluginName() const override { return QStringLiteral("AdvancedSymbology"); } std::shared_ptr createDataInterface(LtsSession::LtsSessionDataDds *session) override; bool availableInPartition(IDL::PartitionType partition) const override { Q_UNUSED(partition); return true; } }; class DataInterfaceImpl final : public DataInterface { public: explicit DataInterfaceImpl(LtsSession::LtsSessionDataDds *session); std::shared_ptr getForeignDataInterface() override; private: std::shared_ptr m_foreignInterface; LtsSession::LtsSessionDataDds *m_session; }; }