Files
qt5-legatus-legacy/Lts/Plugins/SituationMapPlugin/Gui/SituationMap/AdapterDds/plugin_provider.h
T
2026-08-13 18:33:10 +02:00

240 lines
5.7 KiB
C++
Executable File

/**
* @RDE_HEADER@
* Interface to provide access to Plugins
* $Id$
* $HeadURL$
* $Author$
*/
#pragma once
#include <memory>
#include <QObject>
#include <SituationMap/sitmapdds_export.h>
namespace LtsAppDescriptor
{
enum class App;
}
namespace AlarmManagement
{
class ForeignInfoGuiInterface;
namespace Interface
{
class Dtc;
class Ftc;
}
}
namespace AssetManagement
{
namespace Interface
{
class Dtc;
class Ftc;
}
}
namespace AreaEffectSimulation
{
class ForeignInfoGuiInterface;
namespace Interface
{
class Dtc;
}
}
namespace Buildings
{
namespace Interface
{
class Dtc;
class Ftc;
}
class ForeignInfoGuiInterface;
}
namespace CentralEffectSimulation
{
namespace Interface
{
class Dtc;
}
}
namespace ExerciseManagement
{
namespace Interface
{
class Dtc;
class Ftc;
}
}
namespace FilterManagement
{
class ForeignFltParticipantGuiInterface;
class ForeignAesGuiInterface;
class ForeignFltBuildingComponentGuiInterface;
namespace Interface
{
class Dtc;
class Ftc;
}
}
namespace GuezIedManagement
{
class ForeignGuiInterface;
namespace Interface
{
class Dtc;
}
}
namespace GuezNasat
{
class ForeignGuiInterface;
namespace Interface
{
class Dtc;
}
}
namespace InfrastructureManagement
{
class ForeignDataInterface;
class ForeignResourceManagementGuiInterface;
namespace Interface
{
class Dtc;
}
}
namespace OperatorManagement
{
namespace Interface
{
class Dtc;
class Ftc;
}
}
namespace ParticipantManagement
{
class ForeignParticipantInfoGuiInterface;
namespace Interface
{
class Dtc;
class Ftc;
}
}
namespace SituationReplay
{
namespace Interface
{
class Dtc;
}
}
namespace ProjectDataManagement
{
namespace Interface
{
class Dtc;
}
}
namespace OcSituationClient
{
class ForeignParticipantInfoGuiInterface;
}
namespace ServiceMonitor
{
class ForeignGuiInterface;
}
namespace TargetManagement
{
namespace Interface
{
class Dtc;
}
}
namespace ComponentMonitor
{
namespace Interface
{
class Dtc;
}
}
namespace SituationMap
{
class SITMAPDDS_EXPORT PluginProvider : public QObject
{
Q_OBJECT
public:
using QObject::QObject;
virtual QString toString() const = 0;
virtual int exerciseId() const = 0;
virtual bool isSessionValid() const = 0;
virtual qint64 partitionTime() const = 0;
virtual int partitionId() const = 0;
virtual int operatorId() const = 0;
virtual LtsAppDescriptor::App appId() const = 0;
virtual bool isVisibleParty(int partyId) const = 0;
virtual QString workspaceId() const = 0;
virtual bool isReplayPartition() const = 0;
virtual std::shared_ptr<AreaEffectSimulation::Interface::Dtc> aesDtc() const = 0;
virtual std::shared_ptr<AreaEffectSimulation::ForeignInfoGuiInterface> aesInfoIfc() const = 0;
virtual std::shared_ptr<AlarmManagement::Interface::Dtc> almDtc() const = 0;
virtual std::shared_ptr<AlarmManagement::Interface::Ftc> almFtc() const = 0;
virtual std::shared_ptr<AlarmManagement::ForeignInfoGuiInterface> almInfoIfc() const = 0;
virtual std::shared_ptr<AssetManagement::Interface::Dtc> asmDtc() const = 0;
virtual std::shared_ptr<AssetManagement::Interface::Ftc> asmFtc() const = 0;
virtual std::shared_ptr<Buildings::Interface::Dtc> bldDtc() const = 0;
virtual std::shared_ptr<Buildings::Interface::Ftc> bldFtc() const = 0;
virtual std::shared_ptr<Buildings::ForeignInfoGuiInterface> bldInfoIfc() const = 0;
virtual std::shared_ptr<CentralEffectSimulation::Interface::Dtc> cesDtc() const = 0;
virtual std::shared_ptr<ExerciseManagement::Interface::Dtc> exmDtc() const = 0;
virtual std::shared_ptr<ExerciseManagement::Interface::Ftc> exmFtc() const = 0;
virtual std::shared_ptr<FilterManagement::Interface::Dtc> fltDtc() const = 0;
virtual std::shared_ptr<FilterManagement::Interface::Ftc> fltFtc() const = 0;
virtual std::shared_ptr<FilterManagement::ForeignFltParticipantGuiInterface> fltParticipantIfc() const = 0;
virtual std::shared_ptr<FilterManagement::ForeignAesGuiInterface> fltAesIfc() const = 0;
virtual std::shared_ptr<FilterManagement::ForeignFltBuildingComponentGuiInterface> fltBuildingComponentIfc() const = 0;
virtual std::shared_ptr<GuezIedManagement::Interface::Dtc> gimDtc() const = 0;
virtual std::shared_ptr<GuezIedManagement::ForeignGuiInterface> gimIfc() const = 0;
virtual std::shared_ptr<GuezNasat::Interface::Dtc> gnaDtc() const = 0;
virtual std::shared_ptr<GuezNasat::ForeignGuiInterface> gnaIfc() const = 0;
virtual std::shared_ptr<InfrastructureManagement::Interface::Dtc> ismDtc() const = 0;
virtual std::shared_ptr<InfrastructureManagement::ForeignDataInterface> ismDataIfc() const = 0;
virtual std::shared_ptr<InfrastructureManagement::ForeignResourceManagementGuiInterface> ismGuiIfc() const = 0;
virtual std::shared_ptr<OperatorManagement::Interface::Dtc> opmDtc() const = 0;
virtual std::shared_ptr<OperatorManagement::Interface::Ftc> opmFtc() const = 0;
virtual std::shared_ptr<ParticipantManagement::Interface::Dtc> ppmDtc() const = 0;
virtual std::shared_ptr<SituationReplay::Interface::Dtc> srpDtc() const = 0;
virtual std::shared_ptr<ParticipantManagement::Interface::Ftc> ppmFtc() const = 0;
virtual std::shared_ptr<ParticipantManagement::ForeignParticipantInfoGuiInterface> ppmParticipantInfoIfc() const = 0;
virtual std::shared_ptr<ProjectDataManagement::Interface::Dtc> pdmDtc() const = 0;
virtual std::shared_ptr<OcSituationClient::ForeignParticipantInfoGuiInterface> ocParticipantInfoIfc() const = 0;
virtual std::shared_ptr<ServiceMonitor::ForeignGuiInterface> smoServiceMonitorIfc() const = 0;
virtual std::shared_ptr<TargetManagement::Interface::Dtc> tgtDtc() const = 0;
virtual std::shared_ptr<ComponentMonitor::Interface::Dtc> cmoDtc() const = 0;
signals:
void partitionTimeChanged(qint64 partitionTime);
void workspaceIdChanged(const QString &newWorkspaceId);
};
} // namespace SituationMap