Files
qt5-legatus-legacy/Lts/Plugins/AudioVideoManagement/Gui/MobileVideoSystem/avm_mvs_model.h
T
2026-08-13 18:33:10 +02:00

54 lines
1.3 KiB
C++
Executable File

/**
* @RDE_HEADER@
* The MvsModel provices data for TrainingVoiceCommunicationDialog
* $Id$
* $HeadURL$
* $Author$
* Created by Hannes Baeuerle, SLSE, 2017-07-24
*/
#pragma once
#include <LtsWidgets/lts_abstract_table_model.h>
#include <AudioVideoManagement/logger.h>
#include <AudioVideoManagement/avm_dtc.h>
#include <memory>
namespace AudioVideoManagement
{
class MvsModel final
: public LtsWidgets::LtsAbstractTableModel<AudioVideoManagement::VideoTeam>
{
Q_OBJECT
public:
enum Columns
{
CHANNEL,
STREAM_NAME,
COUNT
};
explicit MvsModel(QObject *parent = nullptr);
QVariant data(const QModelIndex &index, int role) const override final;
bool init(int32_t exerciseId, const std::shared_ptr<AudioVideoManagement::Interface::Dtc> &avmDtc);
QByteArray modelToJson();
QVector<VideoTeamModifyRequest> jsonToVideoTeamVector(const QByteArray &content);
bool isFiltered(const VideoTeam &data, DataModification modType) const override;
private: // attributes
std::shared_ptr<AudioVideoManagement::Interface::Dtc> m_avmDtc;
int32_t m_exerciseId;
QMap<int32_t, AudioVideoManagement::VideoTeam> m_videoTeams;
LOGGER_T m_logger;
}; // class MvsModel
} // namespace AudioVideoManagement
Q_DECLARE_METATYPE(AudioVideoManagement::VideoTeam)