/** * @RDE_HEADER@ * Interface to provide access to Plugins needed by buildingViewer * $Id$ * $HeadURL$ * $Author$ */ #pragma once #include #include #include namespace AdvancedSymbology { class ForeignDataInterface; } namespace AudioVideoManagement { class DataInterface; using ForeignDataInterface = DataInterface; } namespace Buildings { namespace Interface { class Dtc; } class ForeignInfoGuiInterface; } namespace InfrastructureManagement { class ForeignDataInterface; namespace Interface { class Dtc; } } namespace AreaEffectSimulation { class ForeignDataInterface; namespace Interface { class Dtc; } } namespace SituationReplay { class ForeignDataInterface; namespace Interface { class Dtc; } } namespace LtsSession { struct DdsConnectionParams; } namespace ParticipantManagement { class ForeignParticipantInfoGuiInterface; namespace Interface { class Dtc; } } namespace ProjectDataManagement { class ForeignDataInterface; namespace Interface { class Dtc; } } namespace BuildingViewer { class BUILDINGVIEWERCOMMON_EXPORT PluginProvider : public QObject { Q_OBJECT public: using QObject::QObject; virtual QString toString() const = 0; virtual int exerciseId() const = 0; virtual qint64 partitionTime() const = 0; virtual bool isReplayPartition() const = 0; virtual bool isVisibleParty(int partyId) const = 0; virtual LtsSession::DdsConnectionParams connParams() const = 0; virtual quintptr adr() const { return 0; } virtual std::shared_ptr asbIfc() const = 0; virtual std::shared_ptr avmDataIfc() const = 0; // optional virtual std::shared_ptr bldDtc() const = 0; virtual std::shared_ptr bldInfoIfc() const = 0; // optional virtual std::shared_ptr ismDtc() const = 0; virtual std::shared_ptr ismDataIfc() const = 0; virtual std::shared_ptr aesDtc() const = 0; // optional virtual std::shared_ptr ppmDtc() const = 0; // optional virtual std::shared_ptr pdmDtc() const = 0; // optional virtual std::shared_ptr srpDtc() const = 0; // optional virtual std::shared_ptr ppmParticipantInfoIfc() const = 0; // optional signals: void partitionTimeChanged(qint64 partitionTime); }; } // namespace BuildingViewer