2020-10-01 13:23:06 +02:00
|
|
|
#ifndef FSFW_TCDISTRIBUTION_PUSDISTRIBUTORIF_H_
|
|
|
|
#define FSFW_TCDISTRIBUTION_PUSDISTRIBUTORIF_H_
|
2016-06-15 23:48:41 +02:00
|
|
|
|
2020-08-13 20:53:35 +02:00
|
|
|
#include "../ipc/MessageQueueSenderIF.h"
|
2022-02-02 10:29:30 +01:00
|
|
|
#include "../tmtcservices/AcceptsTelecommandsIF.h"
|
2020-10-01 13:23:06 +02:00
|
|
|
|
2016-06-15 23:48:41 +02:00
|
|
|
/**
|
|
|
|
* This interface allows PUS Services to register themselves at a PUS Distributor.
|
2020-10-01 13:23:06 +02:00
|
|
|
* @ingroup tc_distribution
|
2016-06-15 23:48:41 +02:00
|
|
|
*/
|
2022-07-29 12:03:14 +02:00
|
|
|
class PusDistributorIF {
|
2022-02-02 10:29:30 +01:00
|
|
|
public:
|
|
|
|
/**
|
|
|
|
* The empty virtual destructor.
|
|
|
|
*/
|
2022-07-29 12:03:14 +02:00
|
|
|
virtual ~PusDistributorIF() = default;
|
2022-02-02 10:29:30 +01:00
|
|
|
/**
|
|
|
|
* With this method, Services can register themselves at the PUS Distributor.
|
|
|
|
* @param service A pointer to the registering Service.
|
2022-08-16 12:12:21 +02:00
|
|
|
* @return - @c returnvalue::OK on success,
|
2022-08-22 15:57:22 +02:00
|
|
|
* - @c returnvalue::FAILED on failure.
|
2022-02-02 10:29:30 +01:00
|
|
|
*/
|
2022-08-01 11:00:36 +02:00
|
|
|
virtual ReturnValue_t registerService(const AcceptsTelecommandsIF& service) = 0;
|
2016-06-15 23:48:41 +02:00
|
|
|
};
|
|
|
|
|
2020-10-01 13:23:06 +02:00
|
|
|
#endif /* FSFW_TCDISTRIBUTION_PUSDISTRIBUTORIF_H_ */
|