#pragma once #include #include #include #include #include #include #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 getDtc() { return m_ppmDtc; } std::unordered_map> 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> m_exerciseEquipmentAssignments; std::shared_ptr m_ppmDtc; MainHandler *m_mainHandler; QTimer *m_equipExerciseMappingTimer; }; }