Resolves 17 conflicts against legacy Qt5 semantics; validates with BUILD_RTI=ON BUILD_GRANTLEE=ON.
133 lines
4.0 KiB
C++
133 lines
4.0 KiB
C++
#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
|