Files
berrux-dev 5381c65fee 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.
2026-09-24 10:10:25 +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