Files
qt-migration-legatus/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Data/avs_session_context.h
T
torstenandCopilot 7a6be7474e Qt6 migration: Fix BUILD_RTI=OFF build errors in TrainingAreaBase
- training_area_telegrams.cpp: Fixed QJsonObject initializer syntax (Qt6 requires {{}} not ({}))
- training_area_telegrams.cpp: Fixed fromJson() methods to access m_* members directly
- training_area_telegrams.cpp: Fixed brace mismatches in multiple toJson() methods
- training_area_telegrams.h: Changed Header struct to public members for consistency
- tx_mixin.cpp: Fixed getEquipmentNumber() template for direct member access
- lts_coordinate.cpp: Added missing #include <iomanip>
- MIGRATION_STATUS.md: Added migration progress tracking document

C++17 constraint enforced due to RTI Connext DDS 7.7.0 incompatibility with C++20+

Build status: BUILD_RTI=OFF successful (0 errors, warnings only)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-08-23 20:49:23 +02:00

94 lines
1.7 KiB
C++
Executable File

#pragma once
#include <AudioVideoManagement/ava_types.h>
#include <QtCore/QString>
#include <memory>
#include <functional>
namespace OperatorManagement
{
namespace Interface
{
class Dtc;
}
}
namespace AudioVideoManagement
{
namespace Interface
{
class Dtc;
}
class AvaSession;
class AvaState;
class StreamNameMapping;
class AvsMenus;
class VdSession;
class AvmExerciseContextHandle;
class AvsApp;
class PlaybackApp;
class AvsSessionContext
{
public:
struct Composite;
AvsSessionContext();
~AvsSessionContext();
bool canAcquire(int exerciseId) const;
Composite *acquire(int exerciseId, int operatorId, const QString &langCode, AvaGuiStyle, const AvmExerciseContextHandle &exerciseContextHandle);
void release(Composite *composite);
private:
std::unique_ptr<Composite> m_composite;
int m_refCount{0};
};
class AvsSessionContextHandle
{
public:
AvsSessionContextHandle() = default;
AvsSessionContextHandle(AvsSessionContext *context, int exerciseId, int operatorId, const QString &langCode, AvaGuiStyle, const AvmExerciseContextHandle &exerciseContextHandle);
operator bool() const { return m_composite.get(); }
AvaSession *avaSession() const;
AvaState *avaState() const;
AvsMenus *menus() const;
VdSession *vdSession() const;
AvsApp *liveVideoApp() const;
PlaybackApp *videoPlaybackApp() const;
PlaybackApp *audioPlaybackApp() const;
PlaybackApp *videoPresentationApp() const;
PlaybackApp *audioPresentationApp() const;
private:
using Releaser = std::function<void (AvsSessionContext::Composite *)>;
std::unique_ptr<AvsSessionContext::Composite, Releaser> m_composite;
};
}