Merge feature/qt6-migration-basis-modules-services into feature/qt6-migration-basis-modules
Resolves 17 conflicts against legacy Qt5 semantics; validates with BUILD_RTI=ON BUILD_GRANTLEE=ON.
This commit is contained in:
1200 files changed
+20421
-18259
No files matched your search
+165
@@ -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
|
||||
+119
@@ -0,0 +1,119 @@
|
||||
#pragma once
|
||||
|
||||
// STUB-HEADER: Diese Datei wird normalerweise von ddsdtc generiert
|
||||
// Für die Migration erstellen wir minimale Typ-Definitionen
|
||||
|
||||
#include "exm_exercise.h"
|
||||
#include "ParticipantManagement/ppm_enums.hpp"
|
||||
#include "FileManagement/flm_db.h"
|
||||
|
||||
#include <QtCore/QObject>
|
||||
#include <QtCore/QList>
|
||||
#include <functional>
|
||||
#include <vector>
|
||||
#include <string>
|
||||
|
||||
namespace ExerciseManagement
|
||||
{
|
||||
|
||||
// ExercisePhase struct
|
||||
struct ExercisePhase
|
||||
{
|
||||
[[nodiscard]] int id() const { return m_id; }
|
||||
[[nodiscard]] std::string name() const { return m_name; }
|
||||
|
||||
int m_id = 0;
|
||||
std::string m_name;
|
||||
};
|
||||
|
||||
namespace Interface
|
||||
{
|
||||
|
||||
// Dtc - Data Transfer Component für Exercise Management
|
||||
class Dtc : public QObject {
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
Dtc() = default;
|
||||
~Dtc() override = default;
|
||||
|
||||
// Initialization methods
|
||||
void enableExercise() {}
|
||||
void waitForHistoricalDataExercise() {}
|
||||
void enableExercisePhase() {}
|
||||
void waitForHistoricalDataExercisePhase() {}
|
||||
|
||||
// Exercise-Liste abrufen (Callback-basiert)
|
||||
void exercises(const std::function<void(const Exercise&)>& callback) const {
|
||||
for (const auto& ex : m_exercises) {
|
||||
callback(ex);
|
||||
}
|
||||
}
|
||||
|
||||
// Einzelnes Exercise nach ID abrufen
|
||||
Exercise exercise(int id) const {
|
||||
for (const auto& ex : m_exercises) {
|
||||
if (ex.id == id) {
|
||||
return ex;
|
||||
}
|
||||
}
|
||||
return Exercise{}; // Return empty exercise if not found
|
||||
}
|
||||
|
||||
// Exercise-Phase nach ID abrufen
|
||||
ExercisePhase exercisePhase(int phaseId) const {
|
||||
for (const auto& phase : m_phases) {
|
||||
if (phase.m_id == phaseId) {
|
||||
return phase;
|
||||
}
|
||||
}
|
||||
return ExercisePhase{}; // Return empty phase if not found
|
||||
}
|
||||
|
||||
// Folders abrufen (Callback-basiert) - benötigt von LtsFileDialog
|
||||
void folders(const std::function<void(const std::vector<FileManagement::Folder>&)>& callback) const {
|
||||
callback(m_folders);
|
||||
}
|
||||
|
||||
// Exercise-Liste als QList
|
||||
QList<Exercise> exercisesList() const { return m_exercises; }
|
||||
|
||||
// Exercise hinzufügen/entfernen/ändern
|
||||
void addExercise(const Exercise& ex) {
|
||||
m_exercises.append(ex);
|
||||
emit exerciseChanged(ex, ParticipantManagement::DataModification::eAdded);
|
||||
}
|
||||
|
||||
void updateExercise(const Exercise& ex) {
|
||||
for (auto& existing : m_exercises) {
|
||||
if (existing.id == ex.id) {
|
||||
existing = ex;
|
||||
emit exerciseChanged(ex, ParticipantManagement::DataModification::eModified);
|
||||
return;
|
||||
}
|
||||
}
|
||||
addExercise(ex);
|
||||
}
|
||||
|
||||
void removeExercise(int id) {
|
||||
for (auto it = m_exercises.begin(); it != m_exercises.end(); ++it) {
|
||||
if (it->id == id) {
|
||||
Exercise removed = *it;
|
||||
m_exercises.erase(it);
|
||||
emit exerciseChanged(removed, ParticipantManagement::DataModification::eRemoved);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
signals:
|
||||
void exerciseChanged(const Exercise& exercise, ParticipantManagement::DataModification modificationType);
|
||||
|
||||
private:
|
||||
QList<Exercise> m_exercises;
|
||||
std::vector<ExercisePhase> m_phases;
|
||||
std::vector<FileManagement::Folder> m_folders;
|
||||
};
|
||||
|
||||
} // namespace Interface
|
||||
} // namespace ExerciseManagement
|
||||
+110
@@ -0,0 +1,110 @@
|
||||
/**
|
||||
* ExerciseManagement Function Topic Client interface
|
||||
* STUB-HEADER: Diese Datei wird normalerweise von DDS generiert
|
||||
* Für die Migration erstellen wir minimale Implementierungen
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <functional>
|
||||
#include <memory>
|
||||
#include <QObject>
|
||||
|
||||
namespace DDSConnector
|
||||
{
|
||||
class DdsConnector;
|
||||
}
|
||||
|
||||
namespace ExerciseManagement
|
||||
{
|
||||
namespace Interface
|
||||
{
|
||||
|
||||
// Forward declaration
|
||||
class Ftc;
|
||||
|
||||
// Reply Handler stub classes for Function Topics
|
||||
// These are normally generated from DDS IDL definitions
|
||||
|
||||
class GetExerciseDataReplyHandler
|
||||
{
|
||||
public:
|
||||
GetExerciseDataReplyHandler() = default;
|
||||
virtual ~GetExerciseDataReplyHandler() = default;
|
||||
virtual void onGetExerciseData(const void* /*reply*/) {}
|
||||
};
|
||||
|
||||
class ModifyExerciseDataReplyHandler
|
||||
{
|
||||
public:
|
||||
ModifyExerciseDataReplyHandler() = default;
|
||||
virtual ~ModifyExerciseDataReplyHandler() = default;
|
||||
virtual void onModifyExerciseData(const void* /*reply*/) {}
|
||||
};
|
||||
|
||||
class GetExercisePhaseDataReplyHandler
|
||||
{
|
||||
public:
|
||||
GetExercisePhaseDataReplyHandler() = default;
|
||||
virtual ~GetExercisePhaseDataReplyHandler() = default;
|
||||
virtual void onGetExercisePhaseData(const void* /*reply*/) {}
|
||||
};
|
||||
|
||||
// Ftc - Function Topic Client interface for ExerciseManagement
|
||||
class Ftc : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
virtual ~Ftc() = default;
|
||||
|
||||
/**
|
||||
* Create a new instance for ExerciseManagement::Interface::Ftc.
|
||||
* STUB: Returns nullptr - actual implementation would require DDS
|
||||
*/
|
||||
static std::shared_ptr<Ftc> create(const std::shared_ptr<DDSConnector::DdsConnector>& /*ddsConnector*/, bool /*forceCreate*/ = false)
|
||||
{
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
/**
|
||||
* A unique identifier for this FTC
|
||||
*/
|
||||
static inline const char* identifier() { return "ExerciseManagement.Interface.Ftc"; }
|
||||
|
||||
/**
|
||||
* Initialize this Ftc instance with all function topic clients
|
||||
*/
|
||||
virtual bool enableAll(bool /*enable*/ = true) { return false; }
|
||||
|
||||
/**
|
||||
* Enable/disable specific function topic clients
|
||||
*/
|
||||
virtual bool enableGetExerciseData(bool /*enable*/ = true) { return false; }
|
||||
virtual bool isGetExerciseDataEnabled() const { return false; }
|
||||
|
||||
virtual bool enableModifyExerciseData(bool /*enable*/ = true) { return false; }
|
||||
virtual bool isModifyExerciseDataEnabled() const { return false; }
|
||||
|
||||
virtual bool enableGetExercisePhaseData(bool /*enable*/ = true) { return false; }
|
||||
virtual bool isGetExercisePhaseDataEnabled() const { return false; }
|
||||
|
||||
/**
|
||||
* Request methods with reply handlers
|
||||
* STUB: Return -1 to indicate no request was sent
|
||||
*/
|
||||
virtual int64_t requestGetExerciseData(const void* /*request*/, GetExerciseDataReplyHandler* /*handler*/) { return -1; }
|
||||
virtual int64_t requestGetExerciseData(const void* /*request*/, const std::function<void(const void*)>& /*cb*/) { return -1; }
|
||||
virtual int64_t lastGetExerciseDataUniqueId() const { return -1; }
|
||||
|
||||
virtual int64_t requestModifyExerciseData(const void* /*request*/, ModifyExerciseDataReplyHandler* /*handler*/) { return -1; }
|
||||
virtual int64_t requestModifyExerciseData(const void* /*request*/, const std::function<void(const void*)>& /*cb*/) { return -1; }
|
||||
virtual int64_t lastModifyExerciseDataUniqueId() const { return -1; }
|
||||
|
||||
virtual int64_t requestGetExercisePhaseData(const void* /*request*/, GetExercisePhaseDataReplyHandler* /*handler*/) { return -1; }
|
||||
virtual int64_t requestGetExercisePhaseData(const void* /*request*/, const std::function<void(const void*)>& /*cb*/) { return -1; }
|
||||
virtual int64_t lastGetExercisePhaseDataUniqueId() const { return -1; }
|
||||
};
|
||||
|
||||
} // namespace Interface
|
||||
} // namespace ExerciseManagement
|
||||
Reference in new issue
Block a user