Files
qt-migration-legatus/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/ppm_handler.h
T

41 lines
1.2 KiB
C++
Executable File

#pragma once
#include <ParticipantManagement/ppm.hpp>
#include <unordered_map>
#include <unordered_set>
#include "logger.h"
class QTimer;
namespace TrainingAreaBase
{
class MainHandler;
class PpmHandler final : public QObject
{
Q_OBJECT
public:
explicit PpmHandler(MainHandler *mainHandler);
bool init();
std::shared_ptr<ParticipantManagement::Interface::Dtc> getDtc() { return m_ppmDtc; }
std::unordered_map<int, std::unordered_set<int>> exerciseEquipmentAssignment() const { return m_exerciseEquipmentAssignments; }
Q_SIGNALS:
void position(int equipNo, const ParticipantManagement::ParticipantPosition &pos);
private Q_SLOTS:
void onParticipantPositionChanged(const ParticipantManagement::ParticipantPosition &data, DataModification modType);
void onEquipmentExerciseMappingChanged(const ParticipantManagement::EquipmentExerciseMapping &data, DataModification modType);
void sendEquipmentExerciseAssignment();
private:
NGL::INGLLogger &m_logger;
std::unordered_map<int, std::unordered_set<int>> m_exerciseEquipmentAssignments;
std::shared_ptr<ParticipantManagement::Interface::Dtc> m_ppmDtc;
MainHandler *m_mainHandler;
QTimer *m_equipExerciseMappingTimer;
};
}