aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAbtin Keshavarzian <abtink@google.com>2024-04-04 08:48:01 -0700
committerGitHub <noreply@github.com>2024-04-04 08:48:01 -0700
commit875e71e56503865e2325f6e347fb64d11d6da5b1 (patch)
tree3650ee7999399325374eeeb163b0bec6b022c40e
parent38418aebe467a12102685af850a15686182aaa81 (diff)
downloadopenthread-875e71e56503865e2325f6e347fb64d11d6da5b1.tar.gz
[dataset] define `Dataset::Tlvs` type (#9991)
This commit defines `Dataset::Tlvs` as a core type corresponding to public OT `otOperationalDatasetTlvs` structure.
-rw-r--r--src/core/meshcop/dataset.cpp12
-rw-r--r--src/core/meshcop/dataset.hpp14
-rw-r--r--src/core/meshcop/dataset_local.cpp10
-rw-r--r--src/core/meshcop/dataset_local.hpp8
-rw-r--r--src/core/meshcop/dataset_manager.cpp8
-rw-r--r--src/core/meshcop/dataset_manager.hpp16
-rw-r--r--src/core/meshcop/tcat_agent.cpp6
7 files changed, 40 insertions, 34 deletions
diff --git a/src/core/meshcop/dataset.cpp b/src/core/meshcop/dataset.cpp
index 15c547ba9..028595674 100644
--- a/src/core/meshcop/dataset.cpp
+++ b/src/core/meshcop/dataset.cpp
@@ -251,10 +251,10 @@ void Dataset::ConvertTo(Info &aDatasetInfo) const
}
}
-void Dataset::ConvertTo(otOperationalDatasetTlvs &aDataset) const
+void Dataset::ConvertTo(Tlvs &aTlvs) const
{
- memcpy(aDataset.mTlvs, mTlvs, mLength);
- aDataset.mLength = static_cast<uint8_t>(mLength);
+ memcpy(aTlvs.mTlvs, mTlvs, mLength);
+ aTlvs.mLength = static_cast<uint8_t>(mLength);
}
void Dataset::Set(Type aType, const Dataset &aDataset)
@@ -271,10 +271,10 @@ void Dataset::Set(Type aType, const Dataset &aDataset)
mUpdateTime = aDataset.GetUpdateTime();
}
-void Dataset::SetFrom(const otOperationalDatasetTlvs &aDataset)
+void Dataset::SetFrom(const Tlvs &aTlvs)
{
- mLength = aDataset.mLength;
- memcpy(mTlvs, aDataset.mTlvs, mLength);
+ mLength = aTlvs.mLength;
+ memcpy(mTlvs, aTlvs.mTlvs, mLength);
}
Error Dataset::SetFrom(const Info &aDatasetInfo)
diff --git a/src/core/meshcop/dataset.hpp b/src/core/meshcop/dataset.hpp
index 131a271a2..5fbc7998e 100644
--- a/src/core/meshcop/dataset.hpp
+++ b/src/core/meshcop/dataset.hpp
@@ -76,6 +76,12 @@ public:
};
/**
+ * Represents a Dataset as a sequence of TLVs.
+ *
+ */
+ typedef otOperationalDatasetTlvs Tlvs;
+
+ /**
* Represents presence of different components in Active or Pending Operational Dataset.
*
*/
@@ -770,10 +776,10 @@ public:
/**
* Converts the TLV representation to structure representation.
*
- * @param[out] aDataset A reference to `otOperationalDatasetTlvs` to output the Dataset.
+ * @param[out] aTlvs A reference to output the Dataset as a sequence of TLVs.
*
*/
- void ConvertTo(otOperationalDatasetTlvs &aDataset) const;
+ void ConvertTo(Tlvs &aTlvs) const;
/**
* Returns the Dataset size in bytes.
@@ -859,10 +865,10 @@ public:
/**
* Sets the Dataset using @p aDataset.
*
- * @param[in] aDataset The input Dataset as otOperationalDatasetTlvs.
+ * @param[in] aDataset The input Dataset as `Tlvs`.
*
*/
- void SetFrom(const otOperationalDatasetTlvs &aDataset);
+ void SetFrom(const Tlvs &aTlvs);
/**
* Appends the MLE Dataset TLV but excluding MeshCoP Sub Timestamp TLV.
diff --git a/src/core/meshcop/dataset_local.cpp b/src/core/meshcop/dataset_local.cpp
index edb810871..ba4c5fc5a 100644
--- a/src/core/meshcop/dataset_local.cpp
+++ b/src/core/meshcop/dataset_local.cpp
@@ -147,15 +147,15 @@ exit:
return error;
}
-Error DatasetLocal::Read(otOperationalDatasetTlvs &aDataset) const
+Error DatasetLocal::Read(Dataset::Tlvs &aDatasetTlvs) const
{
Dataset dataset;
Error error;
- ClearAllBytes(aDataset);
+ ClearAllBytes(aDatasetTlvs);
SuccessOrExit(error = Read(dataset));
- dataset.ConvertTo(aDataset);
+ dataset.ConvertTo(aDatasetTlvs);
exit:
return error;
@@ -173,11 +173,11 @@ exit:
return error;
}
-Error DatasetLocal::Save(const otOperationalDatasetTlvs &aDataset)
+Error DatasetLocal::Save(const Dataset::Tlvs &aDatasetTlvs)
{
Dataset dataset;
- dataset.SetFrom(aDataset);
+ dataset.SetFrom(aDatasetTlvs);
return Save(dataset);
}
diff --git a/src/core/meshcop/dataset_local.hpp b/src/core/meshcop/dataset_local.hpp
index 249f069d5..40e52bd61 100644
--- a/src/core/meshcop/dataset_local.hpp
+++ b/src/core/meshcop/dataset_local.hpp
@@ -134,13 +134,13 @@ public:
/**
* Retrieves the dataset from non-volatile memory.
*
- * @param[out] aDataset Where to place the dataset.
+ * @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(otOperationalDatasetTlvs &aDataset) const;
+ Error Read(Dataset::Tlvs &aDatasetTlvs) const;
/**
* Returns the local time this dataset was last updated or restored.
@@ -164,13 +164,13 @@ public:
/**
* Stores the dataset into non-volatile memory.
*
- * @param[in] aDataset The Dataset to save as `otOperationalDatasetTlvs`.
+ * @param[in] aDatasetTlvs The Dataset to save as `Dataset::Tlvs`.
*
* @retval kErrorNone Successfully saved the dataset.
* @retval kErrorNotImplemented The platform does not implement settings functionality.
*
*/
- Error Save(const otOperationalDatasetTlvs &aDataset);
+ Error Save(const Dataset::Tlvs &aDatasetTlvs);
/**
* Stores the dataset into non-volatile memory.
diff --git a/src/core/meshcop/dataset_manager.cpp b/src/core/meshcop/dataset_manager.cpp
index 8bf1cb38a..237c4b481 100644
--- a/src/core/meshcop/dataset_manager.cpp
+++ b/src/core/meshcop/dataset_manager.cpp
@@ -160,11 +160,11 @@ exit:
return error;
}
-Error DatasetManager::Save(const otOperationalDatasetTlvs &aDataset)
+Error DatasetManager::Save(const Dataset::Tlvs &aDatasetTlvs)
{
Error error;
- SuccessOrExit(error = mLocal.Save(aDataset));
+ SuccessOrExit(error = mLocal.Save(aDatasetTlvs));
HandleDatasetUpdated();
exit:
@@ -697,11 +697,11 @@ exit:
return error;
}
-Error PendingDatasetManager::Save(const otOperationalDatasetTlvs &aDataset)
+Error PendingDatasetManager::Save(const Dataset::Tlvs &aDatasetTlvs)
{
Error error;
- SuccessOrExit(error = DatasetManager::Save(aDataset));
+ SuccessOrExit(error = DatasetManager::Save(aDatasetTlvs));
StartDelayTimer();
exit:
diff --git a/src/core/meshcop/dataset_manager.hpp b/src/core/meshcop/dataset_manager.hpp
index 36162a315..c0d90fe5f 100644
--- a/src/core/meshcop/dataset_manager.hpp
+++ b/src/core/meshcop/dataset_manager.hpp
@@ -96,13 +96,13 @@ public:
/**
* Retrieves the dataset from non-volatile memory.
*
- * @param[out] aDataset Where to place the dataset.
+ * @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(otOperationalDatasetTlvs &aDataset) const { return mLocal.Read(aDataset); }
+ Error Read(Dataset::Tlvs &aDatasetTlvs) const { return mLocal.Read(aDatasetTlvs); }
/**
* Retrieves the channel mask from local dataset.
@@ -261,13 +261,13 @@ protected:
/**
* Saves the Operational Dataset in non-volatile memory.
*
- * @param[in] aDataset The Operational Dataset.
+ * @param[in] aDatasetTlvs The Operational Dataset as `Dataset::Tlvs`.
*
* @retval kErrorNone Successfully saved the dataset.
* @retval kErrorNotImplemented The platform does not implement settings functionality.
*
*/
- Error Save(const otOperationalDatasetTlvs &aDataset);
+ Error Save(const Dataset::Tlvs &aDatasetTlvs);
/**
* Sets the Operational Dataset for the partition.
@@ -459,13 +459,13 @@ public:
/**
* Sets the Operational Dataset in non-volatile memory.
*
- * @param[in] aDataset The Operational Dataset.
+ * @param[in] aDatasetTlvs The Operational Dataset as `Dataset::Tlvs`.
*
* @retval kErrorNone Successfully saved the dataset.
* @retval kErrorNotImplemented The platform does not implement settings functionality.
*
*/
- Error Save(const otOperationalDatasetTlvs &aDataset) { return DatasetManager::Save(aDataset); }
+ Error Save(const Dataset::Tlvs &aDatasetTlvs) { return DatasetManager::Save(aDatasetTlvs); }
#if OPENTHREAD_FTD
@@ -558,13 +558,13 @@ public:
*
* Also starts the Delay Timer.
*
- * @param[in] aDataset The Operational Dataset.
+ * @param[in] aDatasetTlvs The Operational Dataset as a sequence of TLVs.
*
* @retval kErrorNone Successfully saved the dataset.
* @retval kErrorNotImplemented The platform does not implement settings functionality.
*
*/
- Error Save(const otOperationalDatasetTlvs &aDataset);
+ Error Save(const Dataset::Tlvs &aDatasetTlvs);
/**
* Sets the Operational Dataset for the partition.
diff --git a/src/core/meshcop/tcat_agent.cpp b/src/core/meshcop/tcat_agent.cpp
index f8df7737e..c923da309 100644
--- a/src/core/meshcop/tcat_agent.cpp
+++ b/src/core/meshcop/tcat_agent.cpp
@@ -461,9 +461,9 @@ exit:
Error TcatAgent::HandleSetActiveOperationalDataset(const Message &aIncommingMessage, uint16_t aOffset, uint16_t aLength)
{
- Dataset dataset;
- otOperationalDatasetTlvs datasetTlvs;
- Error error;
+ Dataset dataset;
+ Dataset::Tlvs datasetTlvs;
+ Error error;
SuccessOrExit(error = dataset.ReadFromMessage(aIncommingMessage, aOffset, aLength));