/** * @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 #include #include 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 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 findImage(const SymbolDictionary &dict, const SymbolDataToRender &symDataToRender) const = 0; virtual QSharedPointer findImage(const SymbolDataToRender &symDataToRender) const = 0; virtual QSharedPointer findImage(const ParticipantManagement::Participant &participant, int sizeL = 100, const QColor& desiredColor = QColor()) const = 0; virtual QSharedPointer findPreview(const SymbolDictionary &dict, const QString &sidc) const = 0; virtual QSharedPointer findPreview(const QString &sidc) const = 0; virtual QSharedPointer findBaseSymbol(const SymbolDictionary &dict, const QString &sidc) const = 0; virtual QSharedPointer findBaseSymbol(const QString &sidc) const = 0; virtual AdvancedSymbology::SymbologyType defaultSymbologyType() const = 0; }; } //namespace AdvancedSymbology