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

116 lines
2.6 KiB
C++
Executable File

/**
* @RDE_HEADER@
* Interface to provide access to Plugins needed by buildingViewer
* $Id$
* $HeadURL$
* $Author$
*/
#pragma once
#include <memory>
#include <QObject>
#include <Common/buildingviewercommon_export.h>
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<AdvancedSymbology::ForeignDataInterface> asbIfc() const = 0;
virtual std::shared_ptr<AudioVideoManagement::ForeignDataInterface> avmDataIfc() const = 0; // optional
virtual std::shared_ptr<Buildings::Interface::Dtc> bldDtc() const = 0;
virtual std::shared_ptr<Buildings::ForeignInfoGuiInterface> bldInfoIfc() const = 0; // optional
virtual std::shared_ptr<InfrastructureManagement::Interface::Dtc> ismDtc() const = 0;
virtual std::shared_ptr<InfrastructureManagement::ForeignDataInterface> ismDataIfc() const = 0;
virtual std::shared_ptr<AreaEffectSimulation::Interface::Dtc> aesDtc() const = 0; // optional
virtual std::shared_ptr<ParticipantManagement::Interface::Dtc> ppmDtc() const = 0; // optional
virtual std::shared_ptr<ProjectDataManagement::Interface::Dtc> pdmDtc() const = 0; // optional
virtual std::shared_ptr<SituationReplay::Interface::Dtc> srpDtc() const = 0; // optional
virtual std::shared_ptr<ParticipantManagement::ForeignParticipantInfoGuiInterface> ppmParticipantInfoIfc() const = 0; // optional
signals:
void partitionTimeChanged(qint64 partitionTime);
};
} // namespace BuildingViewer