#pragma once // STUB-HEADER: Diese Datei wird normalerweise von DDS/RTI Codegen generiert // Für die Migration mit BUILD_RTI=OFF erstellen wir minimale Implementierungen #include "exm_enums.hpp" #include #include #include #include #include #include #include namespace ExerciseManagement { // Forward declarations class Exercise; class ExercisePhase; /** * @brief Exercise class - Stub für DDS-generierten Code * * Diese Klasse wird normalerweise von DDS aus exm_service.xml generiert. * Für BUILD_RTI=OFF verwenden wir diese minimale Implementierung. */ class Exercise { public: Exercise() : m_id(0) , m_stateId(0) , m_operatorId(0) , m_workstationId(0) , m_trainingAreaId(0) , m_radioGroupId(std::nullopt) , m_activePhaseId(std::nullopt) , m_symbolFillTypeId(0) , m_linkedExerciseId(std::nullopt) , m_sendToWms(false) , m_transferred(false) , m_hasHlaInterface(false) {} // Getter int32_t id() const { return m_id; } std::string name() const { return m_name.toStdString(); } QString nameQString() const { return m_name; } int32_t stateId() const { return m_stateId; } int32_t operatorId() const { return m_operatorId; } int32_t workstationId() const { return m_workstationId; } QDateTime beginTime() const { return m_beginTime; } QDateTime endTime() const { return m_endTime; } QDateTime created() const { return m_created; } QDateTime startTime() const { return m_startTime; } QDateTime stopTime() const { return m_stopTime; } int32_t trainingAreaId() const { return m_trainingAreaId; } std::optional radioGroupId() const { return m_radioGroupId; } std::optional activePhaseId() const { return m_activePhaseId; } int32_t symbolFillTypeId() const { return m_symbolFillTypeId; } std::optional linkedExerciseId() const { return m_linkedExerciseId; } QString defaultTimeZone() const { return m_defaultTimeZone; } bool sendToWms() const { return m_sendToWms; } QString forces() const { return m_forces; } QString description() const { return m_description; } bool transferred() const { return m_transferred; } bool hasHlaInterface() const { return m_hasHlaInterface; } // Setter void setId(int32_t id) { m_id = id; } void setName(const QString& name) { m_name = name; } void setName(const std::string& name) { m_name = QString::fromStdString(name); } void setStateId(int32_t stateId) { m_stateId = stateId; } void setOperatorId(int32_t operatorId) { m_operatorId = operatorId; } void setWorkstationId(int32_t workstationId) { m_workstationId = workstationId; } void setBeginTime(const QDateTime& time) { m_beginTime = time; } void setEndTime(const QDateTime& time) { m_endTime = time; } void setCreated(const QDateTime& time) { m_created = time; } void setStartTime(const QDateTime& time) { m_startTime = time; } void setStopTime(const QDateTime& time) { m_stopTime = time; } void setTrainingAreaId(int32_t id) { m_trainingAreaId = id; } void setRadioGroupId(std::optional id) { m_radioGroupId = id; } void setActivePhaseId(std::optional id) { m_activePhaseId = id; } void setSymbolFillTypeId(int32_t id) { m_symbolFillTypeId = id; } void setLinkedExerciseId(std::optional id) { m_linkedExerciseId = id; } void setDefaultTimeZone(const QString& tz) { m_defaultTimeZone = tz; } void setSendToWms(bool send) { m_sendToWms = send; } void setForces(const QString& forces) { m_forces = forces; } void setDescription(const QString& desc) { m_description = desc; } void setTransferred(bool transferred) { m_transferred = transferred; } void setHasHlaInterface(bool has) { m_hasHlaInterface = has; } // Utility bool isValid() const { return m_id > 0; } private: int32_t m_id; QString m_name; int32_t m_stateId; int32_t m_operatorId; int32_t m_workstationId; QDateTime m_beginTime; QDateTime m_endTime; QDateTime m_created; QDateTime m_startTime; QDateTime m_stopTime; int32_t m_trainingAreaId; std::optional m_radioGroupId; std::optional m_activePhaseId; int32_t m_symbolFillTypeId; std::optional m_linkedExerciseId; QString m_defaultTimeZone; bool m_sendToWms; QString m_forces; QString m_description; bool m_transferred; bool m_hasHlaInterface; }; /** * @brief ExercisePhase class - Stub für DDS-generierten Code * * Diese Klasse wird normalerweise von DDS aus exm_service.xml generiert. * Für BUILD_RTI=OFF verwenden wir diese minimale Implementierung. */ class ExercisePhase { public: ExercisePhase() : m_id(0) , m_exerciseId(0) {} // Getter int32_t id() const { return m_id; } std::string name() const { return m_name.toStdString(); } QString nameQString() const { return m_name; } QString description() const { return m_description; } QDateTime beginTime() const { return m_beginTime; } QDateTime endTime() const { return m_endTime; } int32_t exerciseId() const { return m_exerciseId; } // Setter void setId(int32_t id) { m_id = id; } void setName(const QString& name) { m_name = name; } void setName(const std::string& name) { m_name = QString::fromStdString(name); } void setDescription(const QString& desc) { m_description = desc; } void setBeginTime(const QDateTime& time) { m_beginTime = time; } void setEndTime(const QDateTime& time) { m_endTime = time; } void setExerciseId(int32_t id) { m_exerciseId = id; } // Utility bool isValid() const { return m_id > 0; } private: int32_t m_id; QString m_name; QString m_description; QDateTime m_beginTime; QDateTime m_endTime; int32_t m_exerciseId; }; } // namespace ExerciseManagement