[ncp] allow PARENT_RESPONSE_INFO property to be filtered by host (#3837)

This commit is contained in:
Abtin Keshavarzian
2019-05-20 08:55:59 -07:00
committed by Jonathan Hui
parent 2eba610ef6
commit 20aedd3dd4
3 changed files with 13 additions and 12 deletions
+1
View File
@@ -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
+1 -1
View File
@@ -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
View File
@@ -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());