diff --git a/qt6-after/qt6-migrated-legatus/include/ExerciseManagement/exm_db.h b/qt6-after/qt6-migrated-legatus/include/ExerciseManagement/exm_db.h new file mode 100644 index 000000000..3b2ed3e47 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/include/ExerciseManagement/exm_db.h @@ -0,0 +1,165 @@ +#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 \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/include/OperatorManagement/opm_db.h b/qt6-after/qt6-migrated-legatus/include/OperatorManagement/opm_db.h new file mode 100644 index 000000000..e9a127637 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/include/OperatorManagement/opm_db.h @@ -0,0 +1,133 @@ +#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 "opm_enums.hpp" +#include +#include +#include +#include +#include +#include +#include + +namespace OperatorManagement +{ + +// Forward declarations +class Operator; +class Group; + +/** + * @brief Operator class - Stub für DDS-generierten Code + * + * Diese Klasse wird normalerweise von DDS aus opm_service.xml generiert. + * Für BUILD_RTI=OFF verwenden wir diese minimale Implementierung. + */ +class Operator +{ +public: + Operator() + : m_id(0) + , m_groupId(0) + , m_accessLevel(0) + , m_isActive(false) + , m_isHidden(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 groupId() const { return m_groupId; } + std::string description() const { return m_description.toStdString(); } + QByteArray image() const { return m_image; } + int32_t accessLevel() const { return m_accessLevel; } + bool isActive() const { return m_isActive; } + bool isHidden() const { return m_isHidden; } + QDateTime created() const { return m_created; } + QDateTime modified() const { return m_modified; } + + // 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 setGroupId(int32_t groupId) { m_groupId = groupId; } + void setDescription(const QString& description) { m_description = description; } + void setImage(const QByteArray& image) { m_image = image; } + void setAccessLevel(int32_t accessLevel) { m_accessLevel = accessLevel; } + void setIsActive(bool active) { m_isActive = active; } + void setIsHidden(bool hidden) { m_isHidden = hidden; } + void setCreated(const QDateTime& created) { m_created = created; } + void setModified(const QDateTime& modified) { m_modified = modified; } + + // Utility + bool isValid() const { return m_id > 0; } + +private: + int32_t m_id; + QString m_name; + int32_t m_groupId; + QString m_description; + QByteArray m_image; + int32_t m_accessLevel; + bool m_isActive; + bool m_isHidden; + QDateTime m_created; + QDateTime m_modified; +}; + +/** + * @brief Group class - Stub für DDS-generierten Code + * + * Diese Klasse wird normalerweise von DDS aus opm_service.xml generiert. + * Für BUILD_RTI=OFF verwenden wir diese minimale Implementierung. + */ +class Group +{ +public: + Group() + : m_id(0) + , m_typeId(0) + , m_isHidden(false) + {} + + // Getter + int32_t id() const { return m_id; } + std::string name() const { return m_name.toStdString(); } + QString nameQString() const { return m_name; } + std::string description() const { return m_description.toStdString(); } + int32_t typeId() const { return m_typeId; } + bool isHidden() const { return m_isHidden; } + std::vector memberIds() const { return m_memberIds; } + + // 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& description) { m_description = description; } + void setTypeId(int32_t typeId) { m_typeId = typeId; } + void setIsHidden(bool hidden) { m_isHidden = hidden; } + void setMemberIds(const std::vector& ids) { m_memberIds = ids; } + + // Utility + bool isValid() const { return m_id > 0; } + void addMember(int32_t operatorId) { m_memberIds.push_back(operatorId); } + void removeMember(int32_t operatorId) + { + m_memberIds.erase( + std::remove(m_memberIds.begin(), m_memberIds.end(), operatorId), + m_memberIds.end()); + } + +private: + int32_t m_id; + QString m_name; + QString m_description; + int32_t m_typeId; + bool m_isHidden; + std::vector m_memberIds; +}; + +} // namespace OperatorManagement \ No newline at end of file