fsfw/datapoollocal/StaticLocalDataSet.h

28 lines
945 B
C
Raw Normal View History

#ifndef FRAMEWORK_DATAPOOLLOCAL_STATICLOCALDATASET_H_
#define FRAMEWORK_DATAPOOLLOCAL_STATICLOCALDATASET_H_
2020-08-08 12:49:20 +02:00
#include <framework/datapoollocal/LocalPoolDataSetBase.h>
2020-07-16 11:45:23 +02:00
#include <framework/objectmanager/SystemObjectIF.h>
2020-07-14 15:45:03 +02:00
#include <array>
2020-07-14 15:45:03 +02:00
/**
* @brief This local dataset type is created on the stack.
* @details
* Size of data set specified as a constructor argument. It is recommended
* to use the default LocalDataSet of the dataset is constructed on the heap
* and the SharedLocalDataSet if it created on the heap and used by multiple
* other software objects.
* @tparam capacity
*/
2020-07-16 11:45:23 +02:00
template <uint8_t NUM_VARIABLES>
2020-08-08 12:51:31 +02:00
class StaticLocalDataSet: public LocalPoolDataSetBase {
2020-07-16 11:45:23 +02:00
public:
StaticLocalDataSet(object_id_t owner):
2020-08-08 12:51:31 +02:00
LocalPoolDataSetBase(owner, poolVarList.data(), NUM_VARIABLES) {
2020-07-16 11:45:23 +02:00
}
2020-07-14 15:45:03 +02:00
private:
2020-07-16 11:45:23 +02:00
std::array<PoolVariableIF*, NUM_VARIABLES> poolVarList;
};
#endif /* FRAMEWORK_DATAPOOLLOCAL_STATICLOCALDATASET_H_ */