- BUILD_RTI conditional compilation für RTI Connext DDS dependencies - Namespace fixes in core_dtc.h (Core:: → DDS::Core::) - CMakeLists.txt: BUILD_RTI option und conditional dependencies - Handler minelayer: namespace closing mit BUILD_RTI guard - Build erfolgreich mit BUILD_RTI=OFF validiert Signed-off-by: Torsten Wierschin <torsten.wierschin@life-maps.com>
96 lines
2.9 KiB
C++
Executable File
96 lines
2.9 KiB
C++
Executable File
|
|
|
|
|
|
#pragma once
|
|
|
|
#include <Plugins/AudioVideoManagement/avm_data_plugin_interface.h>
|
|
#include <AudioVideoManagement/avm_dtc.h>
|
|
#include <OperatorManagement/opm_dtc.h>
|
|
#include "avm_exercise_context.h"
|
|
#include "avs_session_context.h"
|
|
#include <memory>
|
|
|
|
|
|
namespace LtsSession { class LtsSession; }
|
|
|
|
|
|
namespace AudioVideoManagement
|
|
{
|
|
|
|
class AvaSession;
|
|
class AvaState;
|
|
class PlaybackApp;
|
|
class PluginSettings;
|
|
class StreamNameMapping;
|
|
|
|
class DataPlugin final : public DataPluginBase::Plugin
|
|
{
|
|
Q_PLUGIN_METADATA(IID "data:3:avm")
|
|
|
|
Q_OBJECT
|
|
public:
|
|
DataPlugin();
|
|
~DataPlugin();
|
|
|
|
QString pluginName() const override { return QStringLiteral("AudioVideoManagement"); }
|
|
std::shared_ptr<DataPluginBase::Interface> createDataInterface(LtsSession::LtsSessionDataDds *session) override;
|
|
|
|
bool availableInPartition(IDL::PartitionType partition) const override { return partition == IDL::PartitionType::Exercise || partition == IDL::PartitionType::Replay || partition == IDL::PartitionType::Global; }
|
|
|
|
private:
|
|
AvmExerciseContextManager m_exerciseContext;
|
|
AvsSessionContext m_avsSessionContext;
|
|
std::unique_ptr<PluginSettings> m_pluginSettings;
|
|
};
|
|
|
|
|
|
class DataInterfaceImpl final : public DataInterface
|
|
{
|
|
public:
|
|
DataInterfaceImpl(LtsSession::LtsSessionDataDds *session, AvmExerciseContextHandle &&exerciseContextHandle, AvsSessionContext *sessionContext);
|
|
~DataInterfaceImpl();
|
|
|
|
std::shared_ptr<AudioVideoManagement::Interface::Dtc> getDtc() override { return m_exerciseContextHandle.dtc(); }
|
|
std::shared_ptr<AudioVideoManagement::Interface::Ftc> getFtc() override { return m_exerciseContextHandle.ftc(); }
|
|
|
|
ExerciseManagement::Interface::Dtc *getExmDtc() override { return m_exerciseContextHandle.exmDtc(); }
|
|
OperatorManagement::Interface::Dtc *getOpmDtc() override { return m_exerciseContextHandle.opmDtc(); }
|
|
|
|
|
|
|
|
|
|
bool hasAvsSession() const override { return m_avsSessionContextHandle; }
|
|
bool vdSessionEstablished() const override;
|
|
AvaSession *avaSession() override;
|
|
AvaState *avaState() override;
|
|
AvsMenus *menus() override;
|
|
PlaybackApp *videoPlaybackApp() override { return m_avsSessionContextHandle.videoPlaybackApp(); }
|
|
PlaybackApp *audioPlaybackApp() override { return m_avsSessionContextHandle.audioPlaybackApp(); }
|
|
PlaybackApp *videoPresentationApp() override { return m_avsSessionContextHandle.videoPresentationApp(); }
|
|
PlaybackApp *audioPresentationApp() override { return m_avsSessionContextHandle.audioPresentationApp(); }
|
|
|
|
|
|
|
|
|
|
|
|
VdSession *vdSession() override;
|
|
|
|
|
|
|
|
StreamNameMapping *streamNameMapping() override;
|
|
|
|
|
|
|
|
void showCamera(QWidget *irreplacableWidget, int mountingPointId) override;
|
|
void showAnnouncementUnit(int mountingPointId) override;
|
|
void showOrCloseAvsApp() override;
|
|
|
|
|
|
private:
|
|
AvmExerciseContextHandle m_exerciseContextHandle;
|
|
AvsSessionContextHandle m_avsSessionContextHandle;
|
|
LtsSession::LtsSession *m_session;
|
|
};
|
|
|
|
}
|