From 973d4ee8a5fac7aa12e29acb160e88eef070beb4 Mon Sep 17 00:00:00 2001 From: Robin Mueller Date: Mon, 25 Jul 2022 11:24:13 +0200 Subject: [PATCH] some more ref replacements --- src/fsfw/pus/Service17Test.cpp | 4 ++-- src/fsfw/pus/Service17Test.h | 2 +- src/fsfw/pus/Service1TelecommandVerification.cpp | 2 +- src/fsfw/tmtcservices/CommandingServiceBase.cpp | 4 ++-- src/fsfw/tmtcservices/CommandingServiceBase.h | 2 +- src/fsfw/tmtcservices/TmStoreHelper.cpp | 12 +++++++----- src/fsfw/tmtcservices/TmStoreHelper.h | 6 +++--- unittests/tmtcservices/testStoreHelper.cpp | 5 +++++ 8 files changed, 22 insertions(+), 15 deletions(-) diff --git a/src/fsfw/pus/Service17Test.cpp b/src/fsfw/pus/Service17Test.cpp index d9547d033..d7c5a71bd 100644 --- a/src/fsfw/pus/Service17Test.cpp +++ b/src/fsfw/pus/Service17Test.cpp @@ -42,11 +42,11 @@ ReturnValue_t Service17Test::initialize() { if (tmStore == nullptr) { return ObjectManagerIF::CHILD_INIT_FAILED; } - storeHelper.setTmStore(tmStore); + storeHelper.setTmStore(*tmStore); } return result; } -void Service17Test::setCustomTmStore(StorageManagerIF* tmStore_) { +void Service17Test::setCustomTmStore(StorageManagerIF& tmStore_) { storeHelper.setTmStore(tmStore_); } diff --git a/src/fsfw/pus/Service17Test.h b/src/fsfw/pus/Service17Test.h index a5bfa974d..54efcaa55 100644 --- a/src/fsfw/pus/Service17Test.h +++ b/src/fsfw/pus/Service17Test.h @@ -35,7 +35,7 @@ class Service17Test : public PusServiceBase { Service17Test(object_id_t objectId, uint16_t apid, uint8_t serviceId); - void setCustomTmStore(StorageManagerIF* tmStore); + void setCustomTmStore(StorageManagerIF& tmStore); ~Service17Test() override; ReturnValue_t handleRequest(uint8_t subservice) override; diff --git a/src/fsfw/pus/Service1TelecommandVerification.cpp b/src/fsfw/pus/Service1TelecommandVerification.cpp index 997b4b403..56259c1fc 100644 --- a/src/fsfw/pus/Service1TelecommandVerification.cpp +++ b/src/fsfw/pus/Service1TelecommandVerification.cpp @@ -100,7 +100,7 @@ ReturnValue_t Service1TelecommandVerification::initialize() { if (tmStore == nullptr) { return ObjectManager::CHILD_INIT_FAILED; } - storeHelper.setTmStore(tmStore); + storeHelper.setTmStore(*tmStore); } return SystemObject::initialize(); } diff --git a/src/fsfw/tmtcservices/CommandingServiceBase.cpp b/src/fsfw/tmtcservices/CommandingServiceBase.cpp index 01c25f87d..1a5487514 100644 --- a/src/fsfw/tmtcservices/CommandingServiceBase.cpp +++ b/src/fsfw/tmtcservices/CommandingServiceBase.cpp @@ -96,7 +96,7 @@ ReturnValue_t CommandingServiceBase::initialize() { if (tmStore == nullptr) { return ObjectManagerIF::CHILD_INIT_FAILED; } - tmStoreHelper.setTmStore(tmStore); + tmStoreHelper.setTmStore(*tmStore); } if (errReporter == nullptr) { errReporter = @@ -419,7 +419,7 @@ void CommandingServiceBase::checkTimeout() { void CommandingServiceBase::setTaskIF(PeriodicTaskIF* task_) { executingTask = task_; } -void CommandingServiceBase::setCustomTmStore(StorageManagerIF* store) { +void CommandingServiceBase::setCustomTmStore(StorageManagerIF& store) { tmStoreHelper.setTmStore(store); } ReturnValue_t CommandingServiceBase::setUpTcReader(store_address_t storeId) { diff --git a/src/fsfw/tmtcservices/CommandingServiceBase.h b/src/fsfw/tmtcservices/CommandingServiceBase.h index 9b8aa61e9..9d1164004 100644 --- a/src/fsfw/tmtcservices/CommandingServiceBase.h +++ b/src/fsfw/tmtcservices/CommandingServiceBase.h @@ -70,7 +70,7 @@ class CommandingServiceBase : public SystemObject, size_t queueDepth = 20); ~CommandingServiceBase() override; - void setCustomTmStore(StorageManagerIF* store); + void setCustomTmStore(StorageManagerIF& store); /** * This setter can be used to set the packet source individually instead * of using the default static framework ID set in the factory. diff --git a/src/fsfw/tmtcservices/TmStoreHelper.cpp b/src/fsfw/tmtcservices/TmStoreHelper.cpp index 5f766c3f5..79c617e73 100644 --- a/src/fsfw/tmtcservices/TmStoreHelper.cpp +++ b/src/fsfw/tmtcservices/TmStoreHelper.cpp @@ -28,16 +28,18 @@ ReturnValue_t TmStoreHelper::preparePacket(uint8_t service, uint8_t subservice, StorageManagerIF* TmStoreHelper::getTmStore() { return tmStore; } -void TmStoreHelper::setTmStore(StorageManagerIF* store) { tmStore = store; } +void TmStoreHelper::setTmStore(StorageManagerIF& store) { tmStore = &store; } + const store_address_t& TmStoreHelper::getCurrentAddr() const { return currentAddr; } + ReturnValue_t TmStoreHelper::deletePacket() { return tmStore->deleteData(currentAddr); } -void TmStoreHelper::setSourceDataRaw(const uint8_t* data, size_t len) { - creator.setRawUserData(data, len); +ReturnValue_t TmStoreHelper::setSourceDataRaw(const uint8_t* data, size_t len) { + return creator.setRawUserData(data, len); } -void TmStoreHelper::setSourceDataSerializable(SerializeIF* serializable) { - creator.setSerializableUserData(serializable); +ReturnValue_t TmStoreHelper::setSourceDataSerializable(SerializeIF* serializable) { + return creator.setSerializableUserData(serializable); } ReturnValue_t TmStoreHelper::addPacketToStore() { diff --git a/src/fsfw/tmtcservices/TmStoreHelper.h b/src/fsfw/tmtcservices/TmStoreHelper.h index ebaff707b..cf7d3c743 100644 --- a/src/fsfw/tmtcservices/TmStoreHelper.h +++ b/src/fsfw/tmtcservices/TmStoreHelper.h @@ -18,11 +18,11 @@ class TmStoreHelper { PusTmCreator& getCreatorRef(); void setTimeStamper(TimeStamperIF& timeStamper); [[nodiscard]] const store_address_t& getCurrentAddr() const; - void setSourceDataRaw(const uint8_t* data, size_t len); - void setSourceDataSerializable(SerializeIF* serializable); + ReturnValue_t setSourceDataRaw(const uint8_t* data, size_t len); + ReturnValue_t setSourceDataSerializable(SerializeIF* serializable); void setApid(uint16_t apid); StorageManagerIF* getTmStore(); - void setTmStore(StorageManagerIF* store); + void setTmStore(StorageManagerIF& store); ReturnValue_t addPacketToStore(); ReturnValue_t deletePacket(); diff --git a/unittests/tmtcservices/testStoreHelper.cpp b/unittests/tmtcservices/testStoreHelper.cpp index 4740ef873..7e52ea142 100644 --- a/unittests/tmtcservices/testStoreHelper.cpp +++ b/unittests/tmtcservices/testStoreHelper.cpp @@ -12,6 +12,7 @@ TEST_CASE("TM Store Helper", "[tm-store-helper]") { SECTION("State") { REQUIRE(storeHelper.getCurrentAddr() == store_address_t::invalid()); + REQUIRE(storeHelper.getTmStore() == &pool); REQUIRE(storeHelper.preparePacket(17, 1, 1) == HasReturnvaluesIF::RETURN_OK); auto& creator = storeHelper.getCreatorRef(); REQUIRE(creator.getApid() == 2); @@ -25,5 +26,9 @@ TEST_CASE("TM Store Helper", "[tm-store-helper]") { REQUIRE(storeHelper.preparePacket(17, 1, 1) == HasReturnvaluesIF::RETURN_OK); REQUIRE(storeHelper.addPacketToStore() == HasReturnvaluesIF::RETURN_OK); REQUIRE(storeHelper.getCurrentAddr() != store_address_t::invalid()); + auto accessor = pool.getData(storeHelper.getCurrentAddr()); + REQUIRE(accessor.first == HasReturnvaluesIF::RETURN_OK); + // Not going to verify individual fields, the creator was unittested separately + REQUIRE(accessor.second.size() == 22); } } \ No newline at end of file