#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