#pragma once #include #include #include namespace NGL { class INGLLogger; } namespace LtsSession { class LtsSessionDataDds; } namespace DataPluginBase { class Interface { public: Interface() = default; virtual ~Interface() = default; }; class Plugin { public: Plugin() = default; virtual ~Plugin() = default; virtual QString pluginName() const = 0; virtual std::shared_ptr createDataInterface(LtsSession::LtsSessionDataDds *session) = 0; virtual bool availableInPartition(IDL::PartitionType partition) const = 0; }; } Q_DECLARE_INTERFACE(DataPluginBase::Plugin, "data:")