Files
qt5-legatus-legacy/Lts/Plugins/AdvancedSymbology/asb_data_plugin_interface.h
T
2026-08-13 18:33:10 +02:00

67 lines
2.1 KiB
C++
Executable File

/**
* @RDE_HEADER@
* Data Plugin Interface for AdvancedSymbology (Interface for access from other Plugins)
* $Id$
* $HeadURL$
* $Author$
* Created by Christian Ehrlicher, SLSE, 2016-02-29
*/
#pragma once
#include <QColor>
#include <Symbology/symbol_dictionary.h>
#include <PluginInterfaces/data_plugin_interface.h>
namespace ParticipantManagement
{
class Participant;
}
namespace AdvancedSymbology
{
class ForeignDataInterface;
/**
* @brief The DataInterface class provides the Topics Clients only for the GUI Plugins
*/
class DataInterface : public DataPluginBase::Interface
{
public:
using DataPluginBase::Interface::Interface;
virtual std::shared_ptr<ForeignDataInterface> getForeignDataInterface() = 0;
};
/**
* @brief The ForeignDataInterface class provides methods and signals for foreign plugins, that need
* access to the data of this DataPlugin
*/
class ForeignDataInterface
{
public:
ForeignDataInterface() = default;
virtual ~ForeignDataInterface() = default;
//
// SymbolDictionary: Access and find methods
//
virtual AdvancedSymbology::SymbolDictionary &getSymbolDictionary(AdvancedSymbology::SymbologyType type) const = 0;
virtual QSharedPointer<SymbolResult> findImage(const SymbolDictionary &dict, const SymbolDataToRender &symDataToRender) const = 0;
virtual QSharedPointer<SymbolResult> findImage(const SymbolDataToRender &symDataToRender) const = 0;
virtual QSharedPointer<SymbolResult> findImage(const ParticipantManagement::Participant &participant, int sizeL = 100, const QColor& desiredColor = QColor()) const = 0;
virtual QSharedPointer<SymbolResult> findPreview(const SymbolDictionary &dict, const QString &sidc) const = 0;
virtual QSharedPointer<SymbolResult> findPreview(const QString &sidc) const = 0;
virtual QSharedPointer<SymbolResult> findBaseSymbol(const SymbolDictionary &dict, const QString &sidc) const = 0;
virtual QSharedPointer<SymbolResult> findBaseSymbol(const QString &sidc) const = 0;
virtual AdvancedSymbology::SymbologyType defaultSymbologyType() const = 0;
};
} //namespace AdvancedSymbology