From 71125c075a267e5f0b8cc6229095827b1e9285da Mon Sep 17 00:00:00 2001 From: "Robin.Mueller" Date: Thu, 10 Sep 2020 21:05:50 +0200 Subject: [PATCH] added new setter function --- datapoollocal/LocalPoolDataSetBase.cpp | 9 ++++++++- datapoollocal/LocalPoolDataSetBase.h | 8 ++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/datapoollocal/LocalPoolDataSetBase.cpp b/datapoollocal/LocalPoolDataSetBase.cpp index 8abdc0e3..859f1f2c 100644 --- a/datapoollocal/LocalPoolDataSetBase.cpp +++ b/datapoollocal/LocalPoolDataSetBase.cpp @@ -190,4 +190,11 @@ bool LocalPoolDataSetBase::isValid() const { return this->valid; } - +void LocalPoolDataSetBase::setValidity(bool valid, bool setEntriesRecursively) { + if(setEntriesRecursively) { + for(size_t idx = 0; idx < this->getFillCount(); idx++) { + registeredVariables[idx] -> setValid(valid); + } + } + this->valid = valid; +} diff --git a/datapoollocal/LocalPoolDataSetBase.h b/datapoollocal/LocalPoolDataSetBase.h index 77c1df1b..17c20d4f 100644 --- a/datapoollocal/LocalPoolDataSetBase.h +++ b/datapoollocal/LocalPoolDataSetBase.h @@ -91,6 +91,13 @@ public: size_t* size, size_t maxSize, SerializeIF::Endianness streamEndianness) const; + /** + * Set the dataset valid or invalid + * @param setEntriesRecursively + * If this is true, all contained datasets will also be set recursively. + */ + void setValidity(bool valid, bool setEntriesRecursively); + bool isValid() const override; protected: @@ -131,4 +138,5 @@ private: }; + #endif /* FSFW_DATAPOOLLOCAL_LOCALPOOLDATASETBASE_H_ */