Files
qt5-legatus-legacy/Lts/Common/PluginInterfaces/data_plugin_interface.h
T
2026-08-13 18:33:10 +02:00

54 lines
867 B
C++
Executable File

/**
* @RDE_HEADER@
* Interface for HMI plugins
* $Id$
* $HeadURL$
* $Author$
* Created by Christian Ehrlicher, SLSE, 2016-02-29
*/
#pragma once
#include <ProjectConfig/project_defines.h>
#include <QObject>
#include <memory>
namespace NGL
{
class INGLLogger;
}
namespace LtsSession
{
class LtsSessionDataDds;
}
namespace DataPluginBase
{
// per dds session
class Interface
{
public:
Interface() = default;
virtual ~Interface() = default;
};
// per plugin
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;
};
} // namespace DataPluginBase
Q_DECLARE_INTERFACE(DataPluginBase::Plugin, "data:")