fsfw/src/fsfw/tcdistribution/PusDistributorIF.h
Robin Mueller 458fe460eb
Some checks failed
fsfw/fsfw/pipeline/head There was a failure building this commit
TMTC Routing Refactoring
1. Make TcDistributor less powerful / more flexible and rename it to TcDistributorBase
2. Require AcceptsTelecommandsIF to have an abstract function returning the name
3. Allows the CCSDS distributor to remove the CCSDS header before rerouting. This is useful
for protocols like CFDP which are CCSDS agnostic.

WIP: Still need to implement the removal of the CCSDS header
2022-08-01 11:00:36 +02:00

27 lines
800 B
C++

#ifndef FSFW_TCDISTRIBUTION_PUSDISTRIBUTORIF_H_
#define FSFW_TCDISTRIBUTION_PUSDISTRIBUTORIF_H_
#include "../ipc/MessageQueueSenderIF.h"
#include "../tmtcservices/AcceptsTelecommandsIF.h"
/**
* This interface allows PUS Services to register themselves at a PUS Distributor.
* @ingroup tc_distribution
*/
class PusDistributorIF {
public:
/**
* The empty virtual destructor.
*/
virtual ~PusDistributorIF() = default;
/**
* With this method, Services can register themselves at the PUS Distributor.
* @param service A pointer to the registering Service.
* @return - @c RETURN_OK on success,
* - @c RETURN_FAILED on failure.
*/
virtual ReturnValue_t registerService(const AcceptsTelecommandsIF& service) = 0;
};
#endif /* FSFW_TCDISTRIBUTION_PUSDISTRIBUTORIF_H_ */