41 lines
1.2 KiB
C++
Executable File
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;
|
|
};
|
|
}
|