fsfw/src/fsfw/datapool/TemplateSet.h

25 lines
780 B
C
Raw Normal View History

#pragma once
2023-07-11 14:57:17 +02:00
#include "Dataset.h"
2023-07-10 17:07:39 +02:00
//TODO use object_id_t
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)
2023-07-14 14:11:22 +02:00
: Dataset(owner, static_cast<HousekeepingSetId_t>(id), allowUserCommit) {
owner->getDatapoolHelper()->registerSet(this);
}
2023-07-14 14:11:22 +02:00
TemplateSet(uint32_t owner_id, HkIDs id) : Dataset(owner_id, static_cast<HousekeepingSetId_t>(id)) {}
#endif
virtual ~TemplateSet() = default;
};