[meshcop] simplify appending and parsing of NetworkNameTlv (#10441)

This commit simplifies the appending and parsing of `NetworkNameTlv`
using `Append<StringTlvType>()` and `Read<StringTlvType>()` TLV
helper methods.
This commit is contained in:
Abtin Keshavarzian
2024-06-26 11:52:55 -04:00
committed by GitHub
parent 21b5764686
commit 975ffd72fc
3 changed files with 4 additions and 11 deletions
+1 -1
View File
@@ -270,7 +270,7 @@ typedef SimpleTlvInfo<Tlv::kExtendedPanId, ExtendedPanId> ExtendedPanIdTlv;
*
*/
OT_TOOL_PACKED_BEGIN
class NetworkNameTlv : public Tlv, public TlvInfo<Tlv::kNetworkName>
class NetworkNameTlv : public Tlv, public StringTlvInfo<Tlv::kNetworkName, NetworkName::kMaxSize>
{
public:
/**
+1 -6
View File
@@ -311,7 +311,6 @@ void DiscoverScanner::HandleDiscoveryResponse(Mle::RxInfo &aRxInfo) const
Error error = kErrorNone;
MeshCoP::Tlv meshcopTlv;
MeshCoP::DiscoveryResponseTlv discoveryResponse;
MeshCoP::NetworkNameTlv networkName;
ScanResult result;
uint16_t offset;
uint16_t end;
@@ -353,11 +352,7 @@ void DiscoverScanner::HandleDiscoveryResponse(Mle::RxInfo &aRxInfo) const
break;
case MeshCoP::Tlv::kNetworkName:
IgnoreError(aRxInfo.mMessage.Read(offset, networkName));
if (networkName.IsValid())
{
IgnoreError(AsCoreType(&result.mNetworkName).Set(networkName.GetNetworkName()));
}
SuccessOrExit(error = Tlv::Read<MeshCoP::NetworkNameTlv>(aRxInfo.mMessage, offset, result.mNetworkName.m8));
break;
case MeshCoP::Tlv::kSteeringData:
+2 -4
View File
@@ -2700,7 +2700,6 @@ Error MleRouter::SendDiscoveryResponse(const Ip6::Address &aDestination, const M
uint16_t startOffset;
Tlv tlv;
MeshCoP::DiscoveryResponseTlv discoveryResponseTlv;
MeshCoP::NetworkNameTlv networkNameTlv;
uint16_t delay;
VerifyOrExit((message = NewMleMessage(kCommandDiscoveryResponse)) != nullptr, error = kErrorNoBufs);
@@ -2744,9 +2743,8 @@ Error MleRouter::SendDiscoveryResponse(const Ip6::Address &aDestination, const M
SuccessOrExit(
error = Tlv::Append<MeshCoP::ExtendedPanIdTlv>(*message, Get<MeshCoP::ExtendedPanIdManager>().GetExtPanId()));
networkNameTlv.Init();
networkNameTlv.SetNetworkName(Get<MeshCoP::NetworkNameManager>().GetNetworkName().GetAsData());
SuccessOrExit(error = networkNameTlv.AppendTo(*message));
SuccessOrExit(error = Tlv::Append<MeshCoP::NetworkNameTlv>(
*message, Get<MeshCoP::NetworkNameManager>().GetNetworkName().GetAsCString()));
SuccessOrExit(error = message->AppendSteeringDataTlv());