fsfw/src/fsfw/internalerror/InternalErrorReporterIF.h

37 lines
1.1 KiB
C
Raw Normal View History

#ifndef INTERNALERRORREPORTERIF_H_
#define INTERNALERRORREPORTERIF_H_
2022-02-23 12:12:49 +01:00
/**
* @brief Interface which is used to report internal errors like full message queues or stores.
* @details
* This interface smust be used for the InteralErrorReporter object.
* It should be used to indicate that there was a Problem with Queues or Stores.
*
* It can be used to report missing Telemetry which could not be sent due to a internal problem.
*
*/
class InternalErrorReporterIF {
2022-02-02 10:29:30 +01:00
public:
2022-07-19 18:13:25 +02:00
virtual ~InternalErrorReporterIF() = default;
2022-02-02 10:29:30 +01:00
/**
2022-02-23 12:12:49 +01:00
* @brief Function to be called if a message queue could not be sent.
* @details OSAL Implementations should call this function to indicate that
* a message was lost.
*
* Implementations are required to be Thread safe
2022-02-02 10:29:30 +01:00
*/
virtual void queueMessageNotSent() = 0;
/**
2022-02-23 12:12:49 +01:00
* @brief Function to be called if Telemetry could not be sent
* @details Implementations must be Thread safe
2022-02-02 10:29:30 +01:00
*/
virtual void lostTm() = 0;
/**
2022-02-23 12:12:49 +01:00
* @brief Function to be called if a onboard storage is full
* @details Implementations must be Thread safe
2022-02-02 10:29:30 +01:00
*/
virtual void storeFull() = 0;
};
#endif /* INTERNALERRORREPORTERIF_H_ */