/** * @RDE_HEADER@ * Data Plugin for AdvancedSymbology * $Id$ * $HeadURL$ * $Author$ * Created by Christian Ehrlicher, SLSE, 2016-02-29 */ #pragma once #include #include #include #include #include namespace AreaEffectSimulation { namespace Interface { class Dtc; } } namespace ParticipantManagement { namespace Interface { class Dtc; } } namespace AdvancedSymbology { class ForeignInterfaceImpl final : public QObject, public ForeignDataInterface { Q_OBJECT public: explicit ForeignInterfaceImpl(const std::shared_ptr &ppmDtc, const std::shared_ptr &aesDtc, const std::shared_ptr &guezIedDtc); // // SymbolDictionary: Access and find methods // AdvancedSymbology::SymbolDictionary &getSymbolDictionary(AdvancedSymbology::SymbologyType type) const override; QSharedPointer findImage(const SymbolDictionary &dict, const SymbolDataToRender &symDataToRender) const override; QSharedPointer findImage(const SymbolDataToRender &symDataToRender) const override; QSharedPointer findImage(const ParticipantManagement::Participant &participant, int sizeL = 100, const QColor& desiredColor = QColor()) const override; QSharedPointer findPreview(const SymbolDictionary &dict, const QString &sidc) const override; QSharedPointer findPreview(const QString &sidc) const override; QSharedPointer findBaseSymbol(const SymbolDictionary &dict, const QString &sidc) const override; QSharedPointer findBaseSymbol(const QString &sidc) const override; AdvancedSymbology::SymbologyType defaultSymbologyType() const override; private: static AdvancedSymbology::Injury stateToInjury(const ProjectDataManagement::VulnerabilityState &state); std::shared_ptr m_ppmDtc; std::shared_ptr m_aesDtc; std::shared_ptr m_guezIedDtc; NGL::INGLLogger &m_logger; }; } // namespace AdvancedSymbology