fsfw/datapool/DataSetIF.h

49 lines
1.6 KiB
C
Raw Normal View History

2020-07-14 15:45:03 +02:00
#ifndef FRAMEWORK_DATAPOOL_DATASETIF_H_
#define FRAMEWORK_DATAPOOL_DATASETIF_H_
2020-05-17 01:17:11 +02:00
#include <framework/returnvalues/HasReturnvaluesIF.h>
2020-06-05 20:28:06 +02:00
#include <framework/timemanager/Clock.h>
class PoolVariableIF;
/**
2020-05-17 01:17:11 +02:00
* @brief This class defines a small interface to register on a DataSet.
*
2020-05-17 01:17:11 +02:00
* @details
* Currently, the only purpose of this interface is to provide a
* method for locally checked-out variables to register on a data set.
* Still, it may become useful for other purposes as well.
* @author Bastian Baetz
* @ingroup data_pool
*/
class DataSetIF {
public:
2020-05-17 23:41:28 +02:00
static constexpr uint8_t INTERFACE_ID = CLASS_ID::DATA_SET_CLASS;
static constexpr ReturnValue_t INVALID_PARAMETER_DEFINITION =
MAKE_RETURN_CODE( 0x01 );
static constexpr ReturnValue_t SET_WAS_ALREADY_READ = MAKE_RETURN_CODE( 0x02 );
static constexpr ReturnValue_t COMMITING_WITHOUT_READING =
MAKE_RETURN_CODE(0x03);
static constexpr ReturnValue_t DATA_SET_UNINITIALISED = MAKE_RETURN_CODE( 0x04 );
static constexpr ReturnValue_t DATA_SET_FULL = MAKE_RETURN_CODE( 0x05 );
static constexpr ReturnValue_t POOL_VAR_NULL = MAKE_RETURN_CODE( 0x06 );
/**
2020-05-17 01:17:11 +02:00
* @brief This is an empty virtual destructor,
* as it is proposed for C++ interfaces.
*/
virtual ~DataSetIF() {}
2020-05-17 01:17:11 +02:00
2020-07-14 15:45:03 +02:00
/**
2020-05-17 01:17:11 +02:00
* @brief This operation provides a method to register local data pool
* variables to register in a data set by passing itself
* to this DataSet operation.
*/
2020-06-05 20:28:06 +02:00
virtual ReturnValue_t registerVariable(PoolVariableIF* variable) = 0;
2020-05-17 01:17:11 +02:00
virtual uint16_t getFillCount() const = 0;
};
2020-07-14 15:45:03 +02:00
#endif /* FRAMEWORK_DATAPOOL_DATASETIF_H_ */