Initial commit

This commit is contained in:
torsten committed 2026-08-13 18:33:10 +02:00
commit b7d90b9afe
16245 files changed
+3396666

No files matched your search

+62
View File
@@ -0,0 +1,62 @@
/**
* @RDE_HEADER@
* ActiveExercises
* $Id$
* $HeadURL$
* $Author$
* Created by Christian Fröbel, NLE, 2019-08-01
*/
#pragma once
#include <QObject>
#include <set>
namespace ExerciseManagement
{
namespace Interface
{
class Dtc;
}
class Exercise;
} // namespace ExerciseManagement
enum class DataModification;
namespace CombatNetRadio
{
/**
* Observes the Exercises and signals whenever an Exercise gets activated or deactivated.
* An Exercise is considered active if its state is either Started or Paused.
* Whether the Exercise has an active FrequencyPlanning is irrelevant.
*
* @author Christian Fröbel
*/
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<int> m_activeExercises;
};
} // namespace CombatNetRadio