fsfw/src/fsfw/datapool/TemplateSet.h

23 lines
706 B
C++

#pragma once
#include "DataSet.h"
template <typename HkIDs>
class TemplateSet : public Dataset {
public:
#ifdef FSFW_INTROSPECTION
TemplateSet(HasDatapoolIF* owner, HkIDs id, bool allowUserCommit)
: Dataset(owner, allowUserCommit) {
setEnum(&id);
owner->getDatapoolHelper()->registerSet(this);
}
TemplateSet(uint32_t owner_id, HkIDs id) : Dataset(owner_id) { setEnum(&id); }
#else
TemplateSet(HasDatapoolIF* owner, HkIDs id, bool allowUserCommit)
: Dataset(owner, (uint8_t)id, allowUserCommit) {
owner->getDatapoolHelper()->registerSet(this);
}
TemplateSet(uint32_t owner_id, HkIDs id) : Dataset(owner_id, (uint8_t)id) {}
#endif
virtual ~TemplateSet() = default;
};