Add stub headers for svcOpmCommon and svcExmCommon (BUILD_RTI=OFF)

- opm_db.h: Operator und Group Klassen für OperatorManagement
- exm_db.h: Exercise und ExercisePhase Klassen für ExerciseManagement
- Analog zu flm_db.h für DDS/RTI Codegen bei BUILD_RTI=OFF
- Alle Getter/Setter mit std::string und QString Unterstützung
- std::optional für optionale IDs (exerciseId, phaseId, etc.)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
torstenandCopilot committed 2026-08-29 22:56:01 +02:00
1 parent f74ff251a2
commit 115243d47c
2 files changed
+298

No files matched your search

@@ -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 <QString>
#include <QDateTime>
#include <QByteArray>
#include <vector>
#include <cstdint>
#include <memory>
#include <optional>
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<int32_t> radioGroupId() const { return m_radioGroupId; }
std::optional<int32_t> activePhaseId() const { return m_activePhaseId; }
int32_t symbolFillTypeId() const { return m_symbolFillTypeId; }
std::optional<int32_t> 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<int32_t> id) { m_radioGroupId = id; }
void setActivePhaseId(std::optional<int32_t> id) { m_activePhaseId = id; }
void setSymbolFillTypeId(int32_t id) { m_symbolFillTypeId = id; }
void setLinkedExerciseId(std::optional<int32_t> 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<int32_t> m_radioGroupId;
std::optional<int32_t> m_activePhaseId;
int32_t m_symbolFillTypeId;
std::optional<int32_t> 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
@@ -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 <QString>
#include <QDateTime>
#include <QByteArray>
#include <vector>
#include <cstdint>
#include <memory>
#include <optional>
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<int32_t> 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<int32_t>& 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<int32_t> m_memberIds;
};
} // namespace OperatorManagement