Files
qt-migration-legatus/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Data/avm_data_plugin.h
T
torsten 950d669538 Qt6 Migration: BUILD_RTI guards und CMake fixes
- 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>
2026-08-21 18:37:18 +02:00

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;
};
}