From 63442f7302801aa945f0c4c55d2720750cfbaa6b Mon Sep 17 00:00:00 2001 From: Abtin Keshavarzian Date: Fri, 17 May 2024 09:33:23 -0700 Subject: [PATCH] [dataset] move `Read()` overload implementations to `DatasetManager` (#10258) This commit simplifies `DatasetLocal` by moving the different overload implementations of `Read()` to `DatasetManager`. This aligns the code so that overloads are provided by `DatasetManager` and `DatasetLocal` provides one version of `Save()` or `Read()`. Unused/undefined methods in `DatasetLocal` are also removed. --- src/core/meshcop/dataset_local.cpp | 28 ---------------------------- src/core/meshcop/dataset_local.hpp | 25 ------------------------- src/core/meshcop/dataset_manager.cpp | 28 ++++++++++++++++++++++++++++ src/core/meshcop/dataset_manager.hpp | 4 ++-- 4 files changed, 30 insertions(+), 55 deletions(-) diff --git a/src/core/meshcop/dataset_local.cpp b/src/core/meshcop/dataset_local.cpp index add800ab7..f9798ae80 100644 --- a/src/core/meshcop/dataset_local.cpp +++ b/src/core/meshcop/dataset_local.cpp @@ -118,34 +118,6 @@ exit: return error; } -Error DatasetLocal::Read(Dataset::Info &aDatasetInfo) const -{ - Dataset dataset; - Error error; - - aDatasetInfo.Clear(); - - SuccessOrExit(error = Read(dataset)); - dataset.ConvertTo(aDatasetInfo); - -exit: - return error; -} - -Error DatasetLocal::Read(Dataset::Tlvs &aDatasetTlvs) const -{ - Dataset dataset; - Error error; - - ClearAllBytes(aDatasetTlvs); - - SuccessOrExit(error = Read(dataset)); - dataset.ConvertTo(aDatasetTlvs); - -exit: - return error; -} - void DatasetLocal::Save(const Dataset &aDataset) { #if OPENTHREAD_CONFIG_PLATFORM_KEY_REFERENCES_ENABLE diff --git a/src/core/meshcop/dataset_local.hpp b/src/core/meshcop/dataset_local.hpp index 89407aa0d..3da38e0cb 100644 --- a/src/core/meshcop/dataset_local.hpp +++ b/src/core/meshcop/dataset_local.hpp @@ -120,28 +120,6 @@ public: */ Error Read(Dataset &aDataset) const; - /** - * Retrieves the dataset from non-volatile memory. - * - * @param[out] aDatasetInfo Where to place the dataset as `Dataset::Info`. - * - * @retval kErrorNone Successfully retrieved the dataset. - * @retval kErrorNotFound There is no corresponding dataset stored in non-volatile memory. - * - */ - Error Read(Dataset::Info &aDatasetInfo) const; - - /** - * Retrieves the dataset from non-volatile memory. - * - * @param[out] aDatasetTlvs Where to place the dataset. - * - * @retval kErrorNone Successfully retrieved the dataset. - * @retval kErrorNotFound There is no corresponding dataset stored in non-volatile memory. - * - */ - Error Read(Dataset::Tlvs &aDatasetTlvs) const; - /** * Returns the local time this dataset was last updated or restored. * @@ -179,9 +157,6 @@ private: void EmplaceSecurelyStoredKeys(Dataset &aDataset) const; #endif - bool IsActive(void) const { return (mType == Dataset::kActive); } - void SetTimestamp(const Dataset &aDataset); - Timestamp mTimestamp; ///< Active or Pending Timestamp TimeMilli mUpdateTime; ///< Local time last updated Dataset::Type mType; ///< Active or Pending diff --git a/src/core/meshcop/dataset_manager.cpp b/src/core/meshcop/dataset_manager.cpp index f07497d59..87b296597 100644 --- a/src/core/meshcop/dataset_manager.cpp +++ b/src/core/meshcop/dataset_manager.cpp @@ -92,6 +92,34 @@ exit: return error; } +Error DatasetManager::Read(Dataset::Info &aDatasetInfo) const +{ + Dataset dataset; + Error error; + + aDatasetInfo.Clear(); + + SuccessOrExit(error = Read(dataset)); + dataset.ConvertTo(aDatasetInfo); + +exit: + return error; +} + +Error DatasetManager::Read(Dataset::Tlvs &aDatasetTlvs) const +{ + Dataset dataset; + Error error; + + ClearAllBytes(aDatasetTlvs); + + SuccessOrExit(error = Read(dataset)); + dataset.ConvertTo(aDatasetTlvs); + +exit: + return error; +} + Error DatasetManager::ApplyConfiguration(void) const { Error error; diff --git a/src/core/meshcop/dataset_manager.hpp b/src/core/meshcop/dataset_manager.hpp index e28a7b432..7827d4ebd 100644 --- a/src/core/meshcop/dataset_manager.hpp +++ b/src/core/meshcop/dataset_manager.hpp @@ -101,7 +101,7 @@ public: * @retval kErrorNotFound There is no corresponding dataset stored in non-volatile memory. * */ - Error Read(Dataset::Info &aDatasetInfo) const { return mLocal.Read(aDatasetInfo); } + Error Read(Dataset::Info &aDatasetInfo) const; /** * Retrieves the dataset from non-volatile memory. @@ -112,7 +112,7 @@ public: * @retval kErrorNotFound There is no corresponding dataset stored in non-volatile memory. * */ - Error Read(Dataset::Tlvs &aDatasetTlvs) const { return mLocal.Read(aDatasetTlvs); } + Error Read(Dataset::Tlvs &aDatasetTlvs) const; /** * Saves the Operational Dataset in non-volatile memory.