/** * 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 #include #include 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 create(const std::shared_ptr& /*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& /*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& /*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& /*cb*/) { return -1; } virtual int64_t lastGetExercisePhaseDataUniqueId() const { return -1; } }; } // namespace Interface } // namespace ExerciseManagement