Files
qt-migration-legatus/qt6-after/qt6-migrated-legatus/include/ExerciseManagement/exm_ftc.h
T
CopilotandCopilot e5d8bfa432 Fix FileManagement Build-Fehler (BUILD_RTI=OFF)
- flm_db.h: Stub-Header mit Folder/FileContent Klassen erstellt
- flm_enums.hpp: MainFolder Enum hinzugefügt (None=0)
- flm_translation.h: toInt() entfernt, trFolderName() angepasst
- Plugin-Interfaces erstellt (flm, opm, exm)
- Viewer-Dialogs: QString-Konvertierungen behoben
- AdvancedSymbology CMakeLists.txt: Ungültige Pfade entfernt
- ism_mounting_point.cpp: Redundante Definitionen entfernt

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-08-29 21:01:46 +02:00

110 lines
3.5 KiB
C++

/**
* 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