2020-12-14 21:30:39 +01:00
|
|
|
#ifndef FSFW_TMTCSERVICES_ACCEPTSTELEMETRYIF_H_
|
|
|
|
#define FSFW_TMTCSERVICES_ACCEPTSTELEMETRYIF_H_
|
2016-06-15 23:48:41 +02:00
|
|
|
|
2022-07-26 16:49:46 +02:00
|
|
|
#include "fsfw/ipc/MessageQueueSenderIF.h"
|
2016-06-15 23:48:41 +02:00
|
|
|
/**
|
|
|
|
* @brief This interface is implemented by classes that are sinks for
|
|
|
|
* Telemetry.
|
|
|
|
* @details Any object receiving telemetry shall implement this interface
|
|
|
|
* and thus make the service id and the receiving message queue public.
|
|
|
|
*/
|
|
|
|
class AcceptsTelemetryIF {
|
2022-02-02 10:29:30 +01:00
|
|
|
public:
|
|
|
|
/**
|
|
|
|
* @brief The virtual destructor as it is mandatory for C++ interfaces.
|
|
|
|
*/
|
2022-07-26 16:49:46 +02:00
|
|
|
virtual ~AcceptsTelemetryIF() = default;
|
2022-08-03 15:12:29 +02:00
|
|
|
|
|
|
|
[[nodiscard]] virtual const char* getName() const = 0;
|
2022-02-02 10:29:30 +01:00
|
|
|
/**
|
|
|
|
* @brief This method returns the message queue id of the telemetry
|
|
|
|
* receiving message queue.
|
|
|
|
* @return The telemetry reception message queue id.
|
|
|
|
*/
|
2022-10-17 16:27:41 +02:00
|
|
|
[[nodiscard]] virtual MessageQueueId_t getReportReceptionQueue(uint8_t virtualChannel) const = 0;
|
2022-07-26 16:49:46 +02:00
|
|
|
|
2022-10-27 14:01:35 +02:00
|
|
|
[[nodiscard]] virtual MessageQueueId_t getReportReceptionQueue() const {
|
|
|
|
return getReportReceptionQueue(0);
|
|
|
|
}
|
2016-06-15 23:48:41 +02:00
|
|
|
};
|
|
|
|
|
2020-12-14 21:30:39 +01:00
|
|
|
#endif /* FSFW_TMTCSERVICES_ACCEPTSTELEMETRYIF_H_ */
|