/** * @RDE_HEADER@ * Data Plugin Interface for SituationReplayManagement (Interface for access from other Plugins) * $Id$ * $HeadURL$ * $Author$ * Created by Patric Karwat, SLSE, 2016-02-29 */ #pragma once #include #include #include namespace Core { class ReplayPartition; namespace Interface { class Dtc; } } namespace SituationReplayManagement { 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 getDtc() = 0; virtual std::shared_ptr getForeignDataInterface() = 0; }; /** * @brief The ForeignInterface 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; virtual void removeReplayPartitionsWorkstation(const int workstationId) noexcept(false) = 0; virtual void removeReplayPartitionsOperator(const int operatorId) noexcept(false) = 0; virtual void replayPartitionRemoveRequest(int partitionId, int workstationId, int operatorId) noexcept(false) = 0; virtual int replayPartitionCreateRequest(int exerciseId, int workstationId, int operatorId, Core::ReplayType replayType) noexcept(false) = 0; }; } //namespace SituationReplayManagement