mirror of
https://github.com/espressif/openthread.git
synced 2026-08-06 18:57:47 +00:00
[ncp] allow PARENT_RESPONSE_INFO property to be filtered by host (#3837)
This commit is contained in:
committed by
Jonathan Hui
parent
2eba610ef6
commit
20aedd3dd4
@@ -94,6 +94,7 @@ const ChangedPropsSet::Entry ChangedPropsSet::mSupportedProps[] = {
|
||||
#if OPENTHREAD_CONFIG_ENABLE_TIME_SYNC
|
||||
{SPINEL_PROP_THREAD_NETWORK_TIME, SPINEL_STATUS_OK, false}, // 34
|
||||
#endif
|
||||
{SPINEL_PROP_PARENT_RESPONSE_INFO, SPINEL_STATUS_OK, true}, // 35
|
||||
};
|
||||
|
||||
uint8_t ChangedPropsSet::GetNumEntries(void) const
|
||||
|
||||
@@ -280,7 +280,7 @@ protected:
|
||||
void HandleChildTableChanged(otThreadChildTableEvent aEvent, const otChildInfo &aChildInfo);
|
||||
|
||||
static void HandleParentResponseInfo(otThreadParentResponseInfo *aInfo, void *aContext);
|
||||
void HandleParentResponseInfo(const otThreadParentResponseInfo *aInfo);
|
||||
void HandleParentResponseInfo(const otThreadParentResponseInfo &aInfo);
|
||||
#endif
|
||||
|
||||
static void HandleDatagramFromStack(otMessage *aMessage, void *aContext);
|
||||
|
||||
+11
-11
@@ -87,27 +87,27 @@ void NcpBase::HandleParentResponseInfo(otThreadParentResponseInfo *aInfo, void *
|
||||
{
|
||||
VerifyOrExit(aInfo && aContext);
|
||||
|
||||
static_cast<NcpBase *>(aContext)->HandleParentResponseInfo(aInfo);
|
||||
static_cast<NcpBase *>(aContext)->HandleParentResponseInfo(*aInfo);
|
||||
|
||||
exit:
|
||||
return;
|
||||
}
|
||||
|
||||
void NcpBase::HandleParentResponseInfo(const otThreadParentResponseInfo *aInfo)
|
||||
void NcpBase::HandleParentResponseInfo(const otThreadParentResponseInfo &aInfo)
|
||||
{
|
||||
VerifyOrExit(aInfo);
|
||||
VerifyOrExit(!mChangedPropsSet.IsPropertyFiltered(SPINEL_PROP_PARENT_RESPONSE_INFO));
|
||||
|
||||
SuccessOrExit(mEncoder.BeginFrame(SPINEL_HEADER_FLAG | SPINEL_HEADER_IID_0, SPINEL_CMD_PROP_VALUE_IS,
|
||||
SPINEL_PROP_PARENT_RESPONSE_INFO));
|
||||
|
||||
SuccessOrExit(mEncoder.WriteEui64(aInfo->mExtAddr));
|
||||
SuccessOrExit(mEncoder.WriteUint16(aInfo->mRloc16));
|
||||
SuccessOrExit(mEncoder.WriteInt8(aInfo->mRssi));
|
||||
SuccessOrExit(mEncoder.WriteInt8(aInfo->mPriority));
|
||||
SuccessOrExit(mEncoder.WriteUint8(aInfo->mLinkQuality3));
|
||||
SuccessOrExit(mEncoder.WriteUint8(aInfo->mLinkQuality2));
|
||||
SuccessOrExit(mEncoder.WriteUint8(aInfo->mLinkQuality1));
|
||||
SuccessOrExit(mEncoder.WriteBool(aInfo->mIsAttached));
|
||||
SuccessOrExit(mEncoder.WriteEui64(aInfo.mExtAddr));
|
||||
SuccessOrExit(mEncoder.WriteUint16(aInfo.mRloc16));
|
||||
SuccessOrExit(mEncoder.WriteInt8(aInfo.mRssi));
|
||||
SuccessOrExit(mEncoder.WriteInt8(aInfo.mPriority));
|
||||
SuccessOrExit(mEncoder.WriteUint8(aInfo.mLinkQuality3));
|
||||
SuccessOrExit(mEncoder.WriteUint8(aInfo.mLinkQuality2));
|
||||
SuccessOrExit(mEncoder.WriteUint8(aInfo.mLinkQuality1));
|
||||
SuccessOrExit(mEncoder.WriteBool(aInfo.mIsAttached));
|
||||
|
||||
SuccessOrExit(mEncoder.EndFrame());
|
||||
|
||||
|
||||
Reference in New Issue
Block a user