Files
qt6-migration-pipeline/Lts/Common/PluginInterfaces/data_plugin_interface.h
T

48 lines
666 B
C++
Executable File

#pragma once
#include <ProjectConfig/project_defines.h>
#include <QObject>
#include <memory>
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<Interface> createDataInterface(LtsSession::LtsSessionDataDds *session) = 0;
virtual bool availableInPartition(IDL::PartitionType partition) const = 0;
};
}
Q_DECLARE_INTERFACE(DataPluginBase::Plugin, "data:")