#pragma once #include #include namespace ExerciseManagement { namespace Interface { class Dtc; } class Exercise; } enum class DataModification; namespace CombatNetRadio { class ActiveExercises : public QObject { Q_OBJECT public: ActiveExercises(ExerciseManagement::Interface::Dtc *exmDtc); signals: void activated(int exerciseId); void deactivated(int exerciseId); private: void onExerciseChanged(const ExerciseManagement::Exercise &exercise, DataModification modType); private: void check(const ExerciseManagement::Exercise &exercise); void tryActivate(int exerciseId); void tryDeactivate(int exerciseId); ExerciseManagement::Interface::Dtc *m_exmDtc; std::set m_activeExercises; }; }