mirror of
https://github.com/espressif/openthread.git
synced 2026-09-09 02:30:11 +00:00
Use static_cast instead of reinterpret_cast when possible. (#667)
This commit is contained in:
+1
-2
@@ -65,8 +65,7 @@ exit:
|
||||
|
||||
void Udp::HandleUdpReceive(void *aContext, otMessage aMessage, const otMessageInfo *aMessageInfo)
|
||||
{
|
||||
Udp *obj = reinterpret_cast<Udp *>(aContext);
|
||||
obj->HandleUdpReceive(aMessage, aMessageInfo);
|
||||
static_cast<Udp *>(aContext)->HandleUdpReceive(aMessage, aMessageInfo);
|
||||
}
|
||||
|
||||
void Udp::HandleUdpReceive(otMessage aMessage, const otMessageInfo *aMessageInfo)
|
||||
|
||||
@@ -102,8 +102,8 @@ exit:
|
||||
|
||||
void Server::HandleUdpReceive(void *aContext, otMessage aMessage, const otMessageInfo *aMessageInfo)
|
||||
{
|
||||
Server *obj = reinterpret_cast<Server *>(aContext);
|
||||
obj->HandleUdpReceive(*static_cast<Message *>(aMessage), *static_cast<const Ip6::MessageInfo *>(aMessageInfo));
|
||||
static_cast<Server *>(aContext)->HandleUdpReceive(*static_cast<Message *>(aMessage),
|
||||
*static_cast<const Ip6::MessageInfo *>(aMessageInfo));
|
||||
}
|
||||
|
||||
void Server::HandleUdpReceive(Message &aMessage, const Ip6::MessageInfo &aMessageInfo)
|
||||
|
||||
@@ -536,8 +536,7 @@ void Mac::SendBeacon(Frame &aFrame)
|
||||
|
||||
void Mac::HandleBeginTransmit(void *aContext)
|
||||
{
|
||||
Mac *obj = reinterpret_cast<Mac *>(aContext);
|
||||
obj->HandleBeginTransmit();
|
||||
static_cast<Mac *>(aContext)->HandleBeginTransmit();
|
||||
}
|
||||
|
||||
void Mac::ProcessTransmitSecurity(Frame &aFrame)
|
||||
@@ -711,8 +710,7 @@ exit:
|
||||
|
||||
void Mac::HandleMacTimer(void *aContext)
|
||||
{
|
||||
Mac *obj = reinterpret_cast<Mac *>(aContext);
|
||||
obj->HandleMacTimer();
|
||||
static_cast<Mac *>(aContext)->HandleMacTimer();
|
||||
}
|
||||
|
||||
void Mac::HandleMacTimer(void)
|
||||
@@ -785,8 +783,7 @@ exit:
|
||||
|
||||
void Mac::HandleReceiveTimer(void *aContext)
|
||||
{
|
||||
Mac *obj = reinterpret_cast<Mac *>(aContext);
|
||||
obj->HandleReceiveTimer();
|
||||
static_cast<Mac *>(aContext)->HandleReceiveTimer();
|
||||
}
|
||||
|
||||
void Mac::HandleReceiveTimer(void)
|
||||
|
||||
@@ -95,8 +95,7 @@ exit:
|
||||
|
||||
void Mpl::HandleTimer(void *aContext)
|
||||
{
|
||||
Mpl *obj = reinterpret_cast<Mpl *>(aContext);
|
||||
obj->HandleTimer();
|
||||
static_cast<Mpl *>(aContext)->HandleTimer();
|
||||
}
|
||||
|
||||
void Mpl::HandleTimer()
|
||||
|
||||
@@ -351,8 +351,7 @@ void Netif::SetStateChangedFlags(uint32_t aFlags)
|
||||
|
||||
void Netif::HandleStateChangedTask(void *aContext)
|
||||
{
|
||||
Netif *obj = reinterpret_cast<Netif *>(aContext);
|
||||
obj->HandleStateChangedTask();
|
||||
static_cast<Netif *>(aContext)->HandleStateChangedTask();
|
||||
}
|
||||
|
||||
void Netif::HandleStateChangedTask(void)
|
||||
|
||||
@@ -1112,7 +1112,7 @@ bool otIsDiscoverInProgress(otInstance *)
|
||||
|
||||
void HandleMleDiscover(otActiveScanResult *aResult, void *aContext)
|
||||
{
|
||||
otInstance *aInstance = reinterpret_cast<otInstance *>(aContext);
|
||||
otInstance *aInstance = static_cast<otInstance *>(aContext);
|
||||
(void)aInstance;
|
||||
sDiscoverCallback(aResult, sDiscoverCallbackContext);
|
||||
}
|
||||
@@ -1205,7 +1205,7 @@ int otWriteMessage(otMessage aMessage, uint16_t aOffset, const void *aBuf, uint1
|
||||
ThreadError otOpenUdpSocket(otInstance *, otUdpSocket *aSocket, otUdpReceive aCallback, void *aCallbackContext)
|
||||
{
|
||||
ThreadError error = kThreadError_Busy;
|
||||
Ip6::UdpSocket *socket = reinterpret_cast<Ip6::UdpSocket *>(aSocket);
|
||||
Ip6::UdpSocket *socket = static_cast<Ip6::UdpSocket *>(aSocket);
|
||||
|
||||
if (socket->mTransport == NULL)
|
||||
{
|
||||
@@ -1219,7 +1219,7 @@ ThreadError otOpenUdpSocket(otInstance *, otUdpSocket *aSocket, otUdpReceive aCa
|
||||
ThreadError otCloseUdpSocket(otUdpSocket *aSocket)
|
||||
{
|
||||
ThreadError error = kThreadError_InvalidState;
|
||||
Ip6::UdpSocket *socket = reinterpret_cast<Ip6::UdpSocket *>(aSocket);
|
||||
Ip6::UdpSocket *socket = static_cast<Ip6::UdpSocket *>(aSocket);
|
||||
|
||||
if (socket->mTransport != NULL)
|
||||
{
|
||||
@@ -1236,15 +1236,15 @@ ThreadError otCloseUdpSocket(otUdpSocket *aSocket)
|
||||
|
||||
ThreadError otBindUdpSocket(otUdpSocket *aSocket, otSockAddr *aSockName)
|
||||
{
|
||||
Ip6::UdpSocket *socket = reinterpret_cast<Ip6::UdpSocket *>(aSocket);
|
||||
return socket->Bind(*reinterpret_cast<const Ip6::SockAddr *>(aSockName));
|
||||
Ip6::UdpSocket *socket = static_cast<Ip6::UdpSocket *>(aSocket);
|
||||
return socket->Bind(*static_cast<const Ip6::SockAddr *>(aSockName));
|
||||
}
|
||||
|
||||
ThreadError otSendUdp(otUdpSocket *aSocket, otMessage aMessage, const otMessageInfo *aMessageInfo)
|
||||
{
|
||||
Ip6::UdpSocket *socket = reinterpret_cast<Ip6::UdpSocket *>(aSocket);
|
||||
return socket->SendTo(*reinterpret_cast<Message *>(aMessage),
|
||||
*reinterpret_cast<const Ip6::MessageInfo *>(aMessageInfo));
|
||||
Ip6::UdpSocket *socket = static_cast<Ip6::UdpSocket *>(aSocket);
|
||||
return socket->SendTo(*static_cast<Message *>(aMessage),
|
||||
*static_cast<const Ip6::MessageInfo *>(aMessageInfo));
|
||||
}
|
||||
|
||||
bool otIsIcmpEchoEnabled(otInstance *)
|
||||
|
||||
@@ -227,8 +227,7 @@ void AddressResolver::HandleUdpReceive(void *aContext, otMessage aMessage, const
|
||||
void AddressResolver::HandleAddressNotification(void *aContext, Coap::Header &aHeader, Message &aMessage,
|
||||
const Ip6::MessageInfo &aMessageInfo)
|
||||
{
|
||||
AddressResolver *obj = reinterpret_cast<AddressResolver *>(aContext);
|
||||
obj->HandleAddressNotification(aHeader, aMessage, aMessageInfo);
|
||||
static_cast<AddressResolver *>(aContext)->HandleAddressNotification(aHeader, aMessage, aMessageInfo);
|
||||
}
|
||||
|
||||
void AddressResolver::HandleAddressNotification(Coap::Header &aHeader, Message &aMessage,
|
||||
@@ -429,8 +428,7 @@ exit:
|
||||
void AddressResolver::HandleAddressError(void *aContext, Coap::Header &aHeader,
|
||||
Message &aMessage, const Ip6::MessageInfo &aMessageInfo)
|
||||
{
|
||||
AddressResolver *obj = reinterpret_cast<AddressResolver *>(aContext);
|
||||
obj->HandleAddressError(aHeader, aMessage, aMessageInfo);
|
||||
static_cast<AddressResolver *>(aContext)->HandleAddressError(aHeader, aMessage, aMessageInfo);
|
||||
}
|
||||
|
||||
void AddressResolver::HandleAddressError(Coap::Header &aHeader, Message &aMessage,
|
||||
@@ -508,8 +506,7 @@ exit:
|
||||
void AddressResolver::HandleAddressQuery(void *aContext, Coap::Header &aHeader, Message &aMessage,
|
||||
const Ip6::MessageInfo &aMessageInfo)
|
||||
{
|
||||
AddressResolver *obj = reinterpret_cast<AddressResolver *>(aContext);
|
||||
obj->HandleAddressQuery(aHeader, aMessage, aMessageInfo);
|
||||
static_cast<AddressResolver *>(aContext)->HandleAddressQuery(aHeader, aMessage, aMessageInfo);
|
||||
}
|
||||
|
||||
void AddressResolver::HandleAddressQuery(Coap::Header &aHeader, Message &aMessage,
|
||||
@@ -622,8 +619,7 @@ exit:
|
||||
|
||||
void AddressResolver::HandleTimer(void *aContext)
|
||||
{
|
||||
AddressResolver *obj = reinterpret_cast<AddressResolver *>(aContext);
|
||||
obj->HandleTimer();
|
||||
static_cast<AddressResolver *>(aContext)->HandleTimer();
|
||||
}
|
||||
|
||||
void AddressResolver::HandleTimer()
|
||||
@@ -675,8 +671,7 @@ void AddressResolver::HandleTimer()
|
||||
void AddressResolver::HandleDstUnreach(void *aContext, Message &aMessage, const Ip6::MessageInfo &aMessageInfo,
|
||||
const Ip6::IcmpHeader &aIcmpHeader)
|
||||
{
|
||||
AddressResolver *obj = reinterpret_cast<AddressResolver *>(aContext);
|
||||
obj->HandleDstUnreach(aMessage, aMessageInfo, aIcmpHeader);
|
||||
static_cast<AddressResolver *>(aContext)->HandleDstUnreach(aMessage, aMessageInfo, aIcmpHeader);
|
||||
|
||||
(void)aMessageInfo;
|
||||
}
|
||||
|
||||
@@ -170,8 +170,7 @@ void MeshForwarder::HandleResolved(const Ip6::Address &aEid, ThreadError aError)
|
||||
|
||||
void MeshForwarder::ScheduleTransmissionTask(void *aContext)
|
||||
{
|
||||
MeshForwarder *obj = reinterpret_cast<MeshForwarder *>(aContext);
|
||||
obj->ScheduleTransmissionTask();
|
||||
static_cast<MeshForwarder *>(aContext)->ScheduleTransmissionTask();
|
||||
}
|
||||
|
||||
void MeshForwarder::ScheduleTransmissionTask()
|
||||
@@ -242,7 +241,7 @@ ThreadError MeshForwarder::SendMessage(Message &aMessage)
|
||||
(neighbor->mMode & Mle::ModeTlv::kModeRxOnWhenIdle) == 0)
|
||||
{
|
||||
// destined for a sleepy child
|
||||
aMessage.SetChildMask(mMle.GetChildIndex(*reinterpret_cast<Child *>(neighbor)));
|
||||
aMessage.SetChildMask(mMle.GetChildIndex(*static_cast<Child *>(neighbor)));
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -259,7 +258,7 @@ ThreadError MeshForwarder::SendMessage(Message &aMessage)
|
||||
(neighbor->mMode & Mle::ModeTlv::kModeRxOnWhenIdle) == 0)
|
||||
{
|
||||
// destined for a sleepy child
|
||||
aMessage.SetChildMask(mMle.GetChildIndex(*reinterpret_cast<Child *>(neighbor)));
|
||||
aMessage.SetChildMask(mMle.GetChildIndex(*static_cast<Child *>(neighbor)));
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -613,8 +612,7 @@ uint32_t MeshForwarder::GetPollPeriod()
|
||||
|
||||
void MeshForwarder::HandlePollTimer(void *aContext)
|
||||
{
|
||||
MeshForwarder *obj = reinterpret_cast<MeshForwarder *>(aContext);
|
||||
obj->HandlePollTimer();
|
||||
static_cast<MeshForwarder *>(aContext)->HandlePollTimer();
|
||||
}
|
||||
|
||||
void MeshForwarder::HandlePollTimer()
|
||||
@@ -678,8 +676,7 @@ ThreadError MeshForwarder::GetMacDestinationAddress(const Ip6::Address &aIp6Addr
|
||||
|
||||
ThreadError MeshForwarder::HandleFrameRequest(void *aContext, Mac::Frame &aFrame)
|
||||
{
|
||||
MeshForwarder *obj = reinterpret_cast<MeshForwarder *>(aContext);
|
||||
return obj->HandleFrameRequest(aFrame);
|
||||
return static_cast<MeshForwarder *>(aContext)->HandleFrameRequest(aFrame);
|
||||
}
|
||||
|
||||
ThreadError MeshForwarder::HandleFrameRequest(Mac::Frame &aFrame)
|
||||
@@ -982,8 +979,7 @@ ThreadError MeshForwarder::SendFragment(Message &aMessage, Mac::Frame &aFrame)
|
||||
|
||||
void MeshForwarder::HandleSentFrame(void *aContext, Mac::Frame &aFrame)
|
||||
{
|
||||
MeshForwarder *obj = reinterpret_cast<MeshForwarder *>(aContext);
|
||||
obj->HandleSentFrame(aFrame);
|
||||
static_cast<MeshForwarder *>(aContext)->HandleSentFrame(aFrame);
|
||||
}
|
||||
|
||||
void MeshForwarder::HandleSentFrame(Mac::Frame &aFrame)
|
||||
@@ -1101,8 +1097,7 @@ exit:
|
||||
|
||||
void MeshForwarder::HandleReceivedFrame(void *aContext, Mac::Frame &aFrame, ThreadError aError)
|
||||
{
|
||||
MeshForwarder *obj = reinterpret_cast<MeshForwarder *>(aContext);
|
||||
obj->HandleReceivedFrame(aFrame, aError);
|
||||
static_cast<MeshForwarder *>(aContext)->HandleReceivedFrame(aFrame, aError);
|
||||
}
|
||||
|
||||
void MeshForwarder::HandleReceivedFrame(Mac::Frame &aFrame, ThreadError aError)
|
||||
@@ -1373,8 +1368,7 @@ exit:
|
||||
|
||||
void MeshForwarder::HandleReassemblyTimer(void *aContext)
|
||||
{
|
||||
MeshForwarder *obj = reinterpret_cast<MeshForwarder *>(aContext);
|
||||
obj->HandleReassemblyTimer();
|
||||
static_cast<MeshForwarder *>(aContext)->HandleReassemblyTimer();
|
||||
}
|
||||
|
||||
void MeshForwarder::HandleReassemblyTimer()
|
||||
@@ -1468,8 +1462,8 @@ void MeshForwarder::HandleDataRequest(const Mac::Address &aMacSource, const Thre
|
||||
VerifyOrExit((neighbor = mMle.GetNeighbor(aMacSource)) != NULL, ;);
|
||||
neighbor->mLastHeard = Timer::GetNow();
|
||||
|
||||
mMle.HandleMacDataRequest(*reinterpret_cast<Child *>(neighbor));
|
||||
childIndex = mMle.GetChildIndex(*reinterpret_cast<Child *>(neighbor));
|
||||
mMle.HandleMacDataRequest(*static_cast<Child *>(neighbor));
|
||||
childIndex = mMle.GetChildIndex(*static_cast<Child *>(neighbor));
|
||||
|
||||
for (Message *message = mSendQueue.GetHead(); message; message = message->GetNext())
|
||||
{
|
||||
|
||||
+7
-10
@@ -927,8 +927,7 @@ exit:
|
||||
|
||||
void Mle::HandleNetifStateChanged(uint32_t aFlags, void *aContext)
|
||||
{
|
||||
Mle *obj = reinterpret_cast<Mle *>(aContext);
|
||||
obj->HandleNetifStateChanged(aFlags);
|
||||
static_cast<Mle *>(aContext)->HandleNetifStateChanged(aFlags);
|
||||
}
|
||||
|
||||
void Mle::HandleNetifStateChanged(uint32_t aFlags)
|
||||
@@ -970,8 +969,7 @@ void Mle::HandleNetifStateChanged(uint32_t aFlags)
|
||||
|
||||
void Mle::HandleParentRequestTimer(void *aContext)
|
||||
{
|
||||
Mle *obj = reinterpret_cast<Mle *>(aContext);
|
||||
obj->HandleParentRequestTimer();
|
||||
static_cast<Mle *>(aContext)->HandleParentRequestTimer();
|
||||
}
|
||||
|
||||
void Mle::HandleParentRequestTimer(void)
|
||||
@@ -1217,8 +1215,7 @@ exit:
|
||||
|
||||
void Mle::HandleSendChildUpdateRequest(void *aContext)
|
||||
{
|
||||
Mle *obj = reinterpret_cast<Mle *>(aContext);
|
||||
obj->HandleSendChildUpdateRequest();
|
||||
static_cast<Mle *>(aContext)->HandleSendChildUpdateRequest();
|
||||
}
|
||||
|
||||
void Mle::HandleSendChildUpdateRequest(void)
|
||||
@@ -1365,8 +1362,8 @@ exit:
|
||||
|
||||
void Mle::HandleUdpReceive(void *aContext, otMessage aMessage, const otMessageInfo *aMessageInfo)
|
||||
{
|
||||
Mle *obj = reinterpret_cast<Mle *>(aContext);
|
||||
obj->HandleUdpReceive(*static_cast<Message *>(aMessage), *static_cast<const Ip6::MessageInfo *>(aMessageInfo));
|
||||
static_cast<Mle *>(aContext)->HandleUdpReceive(*static_cast<Message *>(aMessage),
|
||||
*static_cast<const Ip6::MessageInfo *>(aMessageInfo));
|
||||
}
|
||||
|
||||
void Mle::HandleUdpReceive(Message &aMessage, const Ip6::MessageInfo &aMessageInfo)
|
||||
@@ -1779,7 +1776,7 @@ ThreadError Mle::HandleParentResponse(const Message &aMessage, const Ip6::Messag
|
||||
uint32_t aKeySequence)
|
||||
{
|
||||
ThreadError error = kThreadError_None;
|
||||
const ThreadMessageInfo *threadMessageInfo = reinterpret_cast<const ThreadMessageInfo *>(aMessageInfo.mLinkInfo);
|
||||
const ThreadMessageInfo *threadMessageInfo = static_cast<const ThreadMessageInfo *>(aMessageInfo.mLinkInfo);
|
||||
ResponseTlv response;
|
||||
SourceAddressTlv sourceAddress;
|
||||
LeaderDataTlv leaderData;
|
||||
@@ -2227,7 +2224,7 @@ exit:
|
||||
ThreadError Mle::HandleDiscoveryResponse(const Message &aMessage, const Ip6::MessageInfo &aMessageInfo)
|
||||
{
|
||||
ThreadError error = kThreadError_None;
|
||||
const ThreadMessageInfo *threadMessageInfo = reinterpret_cast<const ThreadMessageInfo *>(aMessageInfo.mLinkInfo);
|
||||
const ThreadMessageInfo *threadMessageInfo = static_cast<const ThreadMessageInfo *>(aMessageInfo.mLinkInfo);
|
||||
Tlv tlv;
|
||||
MeshCoP::Tlv meshcopTlv;
|
||||
MeshCoP::DiscoveryResponseTlv discoveryResponse;
|
||||
|
||||
@@ -626,7 +626,7 @@ ThreadError MleRouter::HandleLinkRequest(const Message &aMessage, const Ip6::Mes
|
||||
if (neighbor->mState != Neighbor::kStateValid)
|
||||
{
|
||||
const ThreadMessageInfo *threadMessageInfo =
|
||||
reinterpret_cast<const ThreadMessageInfo *>(aMessageInfo.mLinkInfo);
|
||||
static_cast<const ThreadMessageInfo *>(aMessageInfo.mLinkInfo);
|
||||
|
||||
memcpy(&neighbor->mMacAddr, &macAddr, sizeof(neighbor->mMacAddr));
|
||||
neighbor->mLinkInfo.Clear();
|
||||
@@ -665,7 +665,7 @@ ThreadError MleRouter::SendLinkAccept(const Ip6::MessageInfo &aMessageInfo, Neig
|
||||
const TlvRequestTlv &aTlvRequest, const ChallengeTlv &aChallenge)
|
||||
{
|
||||
ThreadError error = kThreadError_None;
|
||||
const ThreadMessageInfo *threadMessageInfo = reinterpret_cast<const ThreadMessageInfo *>(aMessageInfo.mLinkInfo);
|
||||
const ThreadMessageInfo *threadMessageInfo = static_cast<const ThreadMessageInfo *>(aMessageInfo.mLinkInfo);
|
||||
static const uint8_t routerTlvs[] = {Tlv::kLinkMargin};
|
||||
Message *message;
|
||||
Header::Command command;
|
||||
@@ -771,7 +771,7 @@ ThreadError MleRouter::HandleLinkAccept(const Message &aMessage, const Ip6::Mess
|
||||
uint32_t aKeySequence, bool aRequest)
|
||||
{
|
||||
ThreadError error = kThreadError_None;
|
||||
const ThreadMessageInfo *threadMessageInfo = reinterpret_cast<const ThreadMessageInfo *>(aMessageInfo.mLinkInfo);
|
||||
const ThreadMessageInfo *threadMessageInfo = static_cast<const ThreadMessageInfo *>(aMessageInfo.mLinkInfo);
|
||||
Neighbor *neighbor = NULL;
|
||||
Mac::ExtAddress macAddr;
|
||||
VersionTlv version;
|
||||
@@ -1217,7 +1217,7 @@ uint8_t MleRouter::GetActiveRouterCount(void) const
|
||||
ThreadError MleRouter::HandleAdvertisement(const Message &aMessage, const Ip6::MessageInfo &aMessageInfo)
|
||||
{
|
||||
ThreadError error = kThreadError_None;
|
||||
const ThreadMessageInfo *threadMessageInfo = reinterpret_cast<const ThreadMessageInfo *>(aMessageInfo.mLinkInfo);
|
||||
const ThreadMessageInfo *threadMessageInfo = static_cast<const ThreadMessageInfo *>(aMessageInfo.mLinkInfo);
|
||||
Mac::ExtAddress macAddr;
|
||||
SourceAddressTlv sourceAddress;
|
||||
LeaderDataTlv leaderData;
|
||||
@@ -1558,7 +1558,7 @@ void MleRouter::UpdateRoutes(const RouteTlv &aRoute, uint8_t aRouterId)
|
||||
ThreadError MleRouter::HandleParentRequest(const Message &aMessage, const Ip6::MessageInfo &aMessageInfo)
|
||||
{
|
||||
ThreadError error = kThreadError_None;
|
||||
const ThreadMessageInfo *threadMessageInfo = reinterpret_cast<const ThreadMessageInfo *>(aMessageInfo.mLinkInfo);
|
||||
const ThreadMessageInfo *threadMessageInfo = static_cast<const ThreadMessageInfo *>(aMessageInfo.mLinkInfo);
|
||||
Mac::ExtAddress macAddr;
|
||||
VersionTlv version;
|
||||
ScanMaskTlv scanMask;
|
||||
@@ -1630,8 +1630,7 @@ exit:
|
||||
|
||||
void MleRouter::HandleStateUpdateTimer(void *aContext)
|
||||
{
|
||||
MleRouter *obj = reinterpret_cast<MleRouter *>(aContext);
|
||||
obj->HandleStateUpdateTimer();
|
||||
static_cast<MleRouter *>(aContext)->HandleStateUpdateTimer();
|
||||
}
|
||||
|
||||
void MleRouter::HandleStateUpdateTimer(void)
|
||||
@@ -1831,7 +1830,7 @@ ThreadError MleRouter::HandleChildIdRequest(const Message &aMessage, const Ip6::
|
||||
uint32_t aKeySequence)
|
||||
{
|
||||
ThreadError error = kThreadError_None;
|
||||
const ThreadMessageInfo *threadMessageInfo = reinterpret_cast<const ThreadMessageInfo *>(aMessageInfo.mLinkInfo);
|
||||
const ThreadMessageInfo *threadMessageInfo = static_cast<const ThreadMessageInfo *>(aMessageInfo.mLinkInfo);
|
||||
Mac::ExtAddress macAddr;
|
||||
ResponseTlv response;
|
||||
LinkFrameCounterTlv linkFrameCounter;
|
||||
@@ -2950,9 +2949,9 @@ exit:
|
||||
|
||||
void MleRouter::HandleUdpReceive(void *aContext, otMessage aMessage, const otMessageInfo *aMessageInfo)
|
||||
{
|
||||
MleRouter *obj = reinterpret_cast<MleRouter *>(aContext);
|
||||
static_cast<MleRouter *>(aContext)->HandleUdpReceive(*static_cast<Message *>(aMessage),
|
||||
*static_cast<const Ip6::MessageInfo *>(aMessageInfo));
|
||||
(void)aMessageInfo;
|
||||
obj->HandleUdpReceive(*static_cast<Message *>(aMessage), *static_cast<const Ip6::MessageInfo *>(aMessageInfo));
|
||||
}
|
||||
|
||||
void MleRouter::HandleUdpReceive(Message &aMessage, const Ip6::MessageInfo &aMessageInfo)
|
||||
@@ -3049,8 +3048,7 @@ exit:
|
||||
void MleRouter::HandleAddressSolicit(void *aContext, Coap::Header &aHeader, Message &aMessage,
|
||||
const Ip6::MessageInfo &aMessageInfo)
|
||||
{
|
||||
MleRouter *obj = reinterpret_cast<MleRouter *>(aContext);
|
||||
obj->HandleAddressSolicit(aHeader, aMessage, aMessageInfo);
|
||||
static_cast<MleRouter *>(aContext)->HandleAddressSolicit(aHeader, aMessage, aMessageInfo);
|
||||
}
|
||||
|
||||
void MleRouter::HandleAddressSolicit(Coap::Header &aHeader, Message &aMessage, const Ip6::MessageInfo &aMessageInfo)
|
||||
@@ -3212,8 +3210,7 @@ exit:
|
||||
void MleRouter::HandleAddressRelease(void *aContext, Coap::Header &aHeader, Message &aMessage,
|
||||
const Ip6::MessageInfo &aMessageInfo)
|
||||
{
|
||||
MleRouter *obj = reinterpret_cast<MleRouter *>(aContext);
|
||||
obj->HandleAddressRelease(aHeader, aMessage, aMessageInfo);
|
||||
static_cast<MleRouter *>(aContext)->HandleAddressRelease(aHeader, aMessage, aMessageInfo);
|
||||
}
|
||||
|
||||
void MleRouter::HandleAddressRelease(Coap::Header &aHeader, Message &aMessage,
|
||||
|
||||
@@ -317,7 +317,7 @@ void NetworkData::RemoveTemporaryData(uint8_t *aData, uint8_t &aDataLength)
|
||||
|
||||
void NetworkData::RemoveTemporaryData(uint8_t *aData, uint8_t &aDataLength, PrefixTlv &aPrefix)
|
||||
{
|
||||
NetworkDataTlv *cur = reinterpret_cast<NetworkDataTlv *>(aPrefix.GetSubTlvs());
|
||||
NetworkDataTlv *cur = aPrefix.GetSubTlvs();
|
||||
NetworkDataTlv *end;
|
||||
BorderRouterTlv *borderRouter;
|
||||
HasRouteTlv *hasRoute;
|
||||
@@ -331,7 +331,7 @@ void NetworkData::RemoveTemporaryData(uint8_t *aData, uint8_t &aDataLength, Pref
|
||||
|
||||
while (1)
|
||||
{
|
||||
end = reinterpret_cast<NetworkDataTlv *>(aPrefix.GetSubTlvs() + aPrefix.GetSubTlvsLength());
|
||||
end = aPrefix.GetNext();
|
||||
|
||||
if (cur >= end)
|
||||
{
|
||||
@@ -410,8 +410,8 @@ void NetworkData::RemoveTemporaryData(uint8_t *aData, uint8_t &aDataLength, Pref
|
||||
BorderRouterTlv *NetworkData::FindBorderRouter(PrefixTlv &aPrefix)
|
||||
{
|
||||
BorderRouterTlv *rval = NULL;
|
||||
NetworkDataTlv *cur = reinterpret_cast<NetworkDataTlv *>(aPrefix.GetSubTlvs());
|
||||
NetworkDataTlv *end = reinterpret_cast<NetworkDataTlv *>(aPrefix.GetSubTlvs() + aPrefix.GetSubTlvsLength());
|
||||
NetworkDataTlv *cur = aPrefix.GetSubTlvs();
|
||||
NetworkDataTlv *end = aPrefix.GetNext();
|
||||
|
||||
while (cur < end)
|
||||
{
|
||||
@@ -430,8 +430,8 @@ exit:
|
||||
BorderRouterTlv *NetworkData::FindBorderRouter(PrefixTlv &aPrefix, bool aStable)
|
||||
{
|
||||
BorderRouterTlv *rval = NULL;
|
||||
NetworkDataTlv *cur = reinterpret_cast<NetworkDataTlv *>(aPrefix.GetSubTlvs());
|
||||
NetworkDataTlv *end = reinterpret_cast<NetworkDataTlv *>(aPrefix.GetSubTlvs() + aPrefix.GetSubTlvsLength());
|
||||
NetworkDataTlv *cur = aPrefix.GetSubTlvs();
|
||||
NetworkDataTlv *end = aPrefix.GetNext();
|
||||
|
||||
while (cur < end)
|
||||
{
|
||||
@@ -451,8 +451,8 @@ exit:
|
||||
HasRouteTlv *NetworkData::FindHasRoute(PrefixTlv &aPrefix)
|
||||
{
|
||||
HasRouteTlv *rval = NULL;
|
||||
NetworkDataTlv *cur = reinterpret_cast<NetworkDataTlv *>(aPrefix.GetSubTlvs());
|
||||
NetworkDataTlv *end = reinterpret_cast<NetworkDataTlv *>(aPrefix.GetSubTlvs() + aPrefix.GetSubTlvsLength());
|
||||
NetworkDataTlv *cur = aPrefix.GetSubTlvs();
|
||||
NetworkDataTlv *end = aPrefix.GetNext();
|
||||
|
||||
while (cur < end)
|
||||
{
|
||||
@@ -471,8 +471,8 @@ exit:
|
||||
HasRouteTlv *NetworkData::FindHasRoute(PrefixTlv &aPrefix, bool aStable)
|
||||
{
|
||||
HasRouteTlv *rval = NULL;
|
||||
NetworkDataTlv *cur = reinterpret_cast<NetworkDataTlv *>(aPrefix.GetSubTlvs());
|
||||
NetworkDataTlv *end = reinterpret_cast<NetworkDataTlv *>(aPrefix.GetSubTlvs() + aPrefix.GetSubTlvsLength());
|
||||
NetworkDataTlv *cur = aPrefix.GetSubTlvs();
|
||||
NetworkDataTlv *end = aPrefix.GetNext();
|
||||
|
||||
while (cur < end)
|
||||
{
|
||||
@@ -492,8 +492,8 @@ exit:
|
||||
ContextTlv *NetworkData::FindContext(PrefixTlv &aPrefix)
|
||||
{
|
||||
ContextTlv *rval = NULL;
|
||||
NetworkDataTlv *cur = reinterpret_cast<NetworkDataTlv *>(aPrefix.GetSubTlvs());
|
||||
NetworkDataTlv *end = reinterpret_cast<NetworkDataTlv *>(aPrefix.GetSubTlvs() + aPrefix.GetSubTlvsLength());
|
||||
NetworkDataTlv *cur = aPrefix.GetSubTlvs();
|
||||
NetworkDataTlv *end = aPrefix.GetNext();
|
||||
|
||||
while (cur < end)
|
||||
{
|
||||
|
||||
@@ -142,7 +142,7 @@ ThreadError Leader::GetContext(const Ip6::Address &aAddress, Lowpan::Context &aC
|
||||
continue;
|
||||
}
|
||||
|
||||
prefix = reinterpret_cast<PrefixTlv *>(cur);
|
||||
prefix = static_cast<PrefixTlv *>(cur);
|
||||
|
||||
if (PrefixMatch(prefix->GetPrefix(), aAddress.mFields.m8, prefix->GetPrefixLength()) < 0)
|
||||
{
|
||||
@@ -190,7 +190,7 @@ ThreadError Leader::GetContext(uint8_t aContextId, Lowpan::Context &aContext)
|
||||
continue;
|
||||
}
|
||||
|
||||
prefix = reinterpret_cast<PrefixTlv *>(cur);
|
||||
prefix = static_cast<PrefixTlv *>(cur);
|
||||
contextTlv = FindContext(*prefix);
|
||||
|
||||
if (contextTlv == NULL)
|
||||
@@ -232,7 +232,7 @@ bool Leader::IsOnMesh(const Ip6::Address &aAddress)
|
||||
continue;
|
||||
}
|
||||
|
||||
prefix = reinterpret_cast<PrefixTlv *>(cur);
|
||||
prefix = static_cast<PrefixTlv *>(cur);
|
||||
|
||||
if (PrefixMatch(prefix->GetPrefix(), aAddress.mFields.m8, prefix->GetPrefixLength()) < 0)
|
||||
{
|
||||
@@ -266,7 +266,7 @@ ThreadError Leader::RouteLookup(const Ip6::Address &aSource, const Ip6::Address
|
||||
continue;
|
||||
}
|
||||
|
||||
prefix = reinterpret_cast<PrefixTlv *>(cur);
|
||||
prefix = static_cast<PrefixTlv *>(cur);
|
||||
|
||||
if (PrefixMatch(prefix->GetPrefix(), aSource.mFields.m8, prefix->GetPrefixLength()) >= 0)
|
||||
{
|
||||
@@ -313,7 +313,7 @@ ThreadError Leader::ExternalRouteLookup(uint8_t aDomainId, const Ip6::Address &a
|
||||
continue;
|
||||
}
|
||||
|
||||
prefix = reinterpret_cast<PrefixTlv *>(cur);
|
||||
prefix = static_cast<PrefixTlv *>(cur);
|
||||
|
||||
if (prefix->GetDomainId() != aDomainId)
|
||||
{
|
||||
@@ -325,16 +325,14 @@ ThreadError Leader::ExternalRouteLookup(uint8_t aDomainId, const Ip6::Address &a
|
||||
if (plen > rval_plen)
|
||||
{
|
||||
// select border router
|
||||
for (subCur = reinterpret_cast<NetworkDataTlv *>(prefix->GetSubTlvs());
|
||||
subCur < reinterpret_cast<NetworkDataTlv *>(prefix->GetSubTlvs() + prefix->GetSubTlvsLength());
|
||||
subCur = subCur->GetNext())
|
||||
for (subCur = prefix->GetSubTlvs(); subCur < prefix->GetNext(); subCur = subCur->GetNext())
|
||||
{
|
||||
if (subCur->GetType() != NetworkDataTlv::kTypeHasRoute)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
hasRoute = reinterpret_cast<HasRouteTlv *>(subCur);
|
||||
hasRoute = static_cast<HasRouteTlv *>(subCur);
|
||||
|
||||
for (uint8_t i = 0; i < hasRoute->GetNumEntries(); i++)
|
||||
{
|
||||
@@ -379,16 +377,14 @@ ThreadError Leader::DefaultRouteLookup(PrefixTlv &aPrefix, uint16_t *aRloc16)
|
||||
BorderRouterEntry *entry;
|
||||
BorderRouterEntry *route = NULL;
|
||||
|
||||
for (NetworkDataTlv *cur = reinterpret_cast<NetworkDataTlv *>(aPrefix.GetSubTlvs());
|
||||
cur < reinterpret_cast<NetworkDataTlv *>(aPrefix.GetSubTlvs() + aPrefix.GetSubTlvsLength());
|
||||
cur = cur->GetNext())
|
||||
for (NetworkDataTlv *cur = aPrefix.GetSubTlvs(); cur < aPrefix.GetNext(); cur = cur->GetNext())
|
||||
{
|
||||
if (cur->GetType() != NetworkDataTlv::kTypeBorderRouter)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
borderRouter = reinterpret_cast<BorderRouterTlv *>(cur);
|
||||
borderRouter = static_cast<BorderRouterTlv *>(cur);
|
||||
|
||||
for (uint8_t i = 0; i < borderRouter->GetNumEntries(); i++)
|
||||
{
|
||||
@@ -529,8 +525,7 @@ exit:
|
||||
void Leader::HandleServerData(void *aContext, Coap::Header &aHeader, Message &aMessage,
|
||||
const Ip6::MessageInfo &aMessageInfo)
|
||||
{
|
||||
Leader *obj = reinterpret_cast<Leader *>(aContext);
|
||||
obj->HandleServerData(aHeader, aMessage, aMessageInfo);
|
||||
static_cast<Leader *>(aContext)->HandleServerData(aHeader, aMessage, aMessageInfo);
|
||||
}
|
||||
|
||||
void Leader::HandleServerData(Coap::Header &aHeader, Message &aMessage,
|
||||
@@ -602,9 +597,9 @@ void Leader::RlocLookup(uint16_t aRloc16, bool &aIn, bool &aStable, uint8_t *aTl
|
||||
{
|
||||
if (cur->GetType() == NetworkDataTlv::kTypePrefix)
|
||||
{
|
||||
prefix = reinterpret_cast<PrefixTlv *>(cur);
|
||||
subCur = reinterpret_cast<NetworkDataTlv *>(prefix->GetSubTlvs());
|
||||
subEnd = reinterpret_cast<NetworkDataTlv *>(prefix->GetSubTlvs() + prefix->GetSubTlvsLength());
|
||||
prefix = static_cast<PrefixTlv *>(cur);
|
||||
subCur = prefix->GetSubTlvs();
|
||||
subEnd = prefix->GetNext();
|
||||
|
||||
while (subCur < subEnd)
|
||||
{
|
||||
@@ -686,7 +681,7 @@ bool Leader::IsStableUpdated(uint16_t aRloc16, uint8_t *aTlvs, uint8_t aTlvsLeng
|
||||
{
|
||||
if (cur->GetType() == NetworkDataTlv::kTypePrefix)
|
||||
{
|
||||
prefix = reinterpret_cast<PrefixTlv *>(cur);
|
||||
prefix = static_cast<PrefixTlv *>(cur);
|
||||
context = FindContext(*prefix);
|
||||
borderRouter = FindBorderRouter(*prefix);
|
||||
hasRoute = FindHasRoute(*prefix);
|
||||
@@ -776,7 +771,7 @@ ThreadError Leader::AddNetworkData(uint8_t *aTlvs, uint8_t aTlvsLength)
|
||||
switch (cur->GetType())
|
||||
{
|
||||
case NetworkDataTlv::kTypePrefix:
|
||||
AddPrefix(*reinterpret_cast<PrefixTlv *>(cur));
|
||||
AddPrefix(*static_cast<PrefixTlv *>(cur));
|
||||
otDumpDebgNetData("add prefix done", mTlvs, mLength);
|
||||
break;
|
||||
|
||||
@@ -795,19 +790,19 @@ ThreadError Leader::AddNetworkData(uint8_t *aTlvs, uint8_t aTlvsLength)
|
||||
|
||||
ThreadError Leader::AddPrefix(PrefixTlv &aPrefix)
|
||||
{
|
||||
NetworkDataTlv *cur = reinterpret_cast<NetworkDataTlv *>(aPrefix.GetSubTlvs());
|
||||
NetworkDataTlv *end = reinterpret_cast<NetworkDataTlv *>(aPrefix.GetSubTlvs() + aPrefix.GetSubTlvsLength());
|
||||
NetworkDataTlv *cur = aPrefix.GetSubTlvs();
|
||||
NetworkDataTlv *end = aPrefix.GetNext();
|
||||
|
||||
while (cur < end)
|
||||
{
|
||||
switch (cur->GetType())
|
||||
{
|
||||
case NetworkDataTlv::kTypeHasRoute:
|
||||
AddHasRoute(aPrefix, *reinterpret_cast<HasRouteTlv *>(cur));
|
||||
AddHasRoute(aPrefix, *static_cast<HasRouteTlv *>(cur));
|
||||
break;
|
||||
|
||||
case NetworkDataTlv::kTypeBorderRouter:
|
||||
AddBorderRouter(aPrefix, *reinterpret_cast<BorderRouterTlv *>(cur));
|
||||
AddBorderRouter(aPrefix, *static_cast<BorderRouterTlv *>(cur));
|
||||
break;
|
||||
|
||||
default:
|
||||
@@ -841,7 +836,7 @@ ThreadError Leader::AddHasRoute(PrefixTlv &aPrefix, HasRouteTlv &aHasRoute)
|
||||
|
||||
if ((dstHasRoute = FindHasRoute(*dstPrefix, aHasRoute.IsStable())) == NULL)
|
||||
{
|
||||
dstHasRoute = reinterpret_cast<HasRouteTlv *>(dstPrefix->GetNext());
|
||||
dstHasRoute = static_cast<HasRouteTlv *>(dstPrefix->GetNext());
|
||||
Insert(reinterpret_cast<uint8_t *>(dstHasRoute), sizeof(HasRouteTlv));
|
||||
dstPrefix->SetLength(dstPrefix->GetLength() + sizeof(HasRouteTlv));
|
||||
dstHasRoute->Init();
|
||||
@@ -882,7 +877,7 @@ ThreadError Leader::AddBorderRouter(PrefixTlv &aPrefix, BorderRouterTlv &aBorder
|
||||
}
|
||||
else if ((contextId = AllocateContext()) >= 0)
|
||||
{
|
||||
dstContext = reinterpret_cast<ContextTlv *>(dstPrefix->GetNext());
|
||||
dstContext = static_cast<ContextTlv *>(dstPrefix->GetNext());
|
||||
Insert(reinterpret_cast<uint8_t *>(dstContext), sizeof(ContextTlv));
|
||||
dstPrefix->SetLength(dstPrefix->GetLength() + sizeof(ContextTlv));
|
||||
dstContext->Init();
|
||||
@@ -897,7 +892,7 @@ ThreadError Leader::AddBorderRouter(PrefixTlv &aPrefix, BorderRouterTlv &aBorder
|
||||
|
||||
if ((dstBorderRouter = FindBorderRouter(*dstPrefix, aBorderRouter.IsStable())) == NULL)
|
||||
{
|
||||
dstBorderRouter = reinterpret_cast<BorderRouterTlv *>(dstPrefix->GetNext());
|
||||
dstBorderRouter = static_cast<BorderRouterTlv *>(dstPrefix->GetNext());
|
||||
Insert(reinterpret_cast<uint8_t *>(dstBorderRouter), sizeof(BorderRouterTlv));
|
||||
dstPrefix->SetLength(dstPrefix->GetLength() + sizeof(BorderRouterTlv));
|
||||
dstBorderRouter->Init();
|
||||
@@ -985,7 +980,7 @@ ThreadError Leader::RemoveRloc(uint16_t aRloc16)
|
||||
{
|
||||
case NetworkDataTlv::kTypePrefix:
|
||||
{
|
||||
prefix = reinterpret_cast<PrefixTlv *>(cur);
|
||||
prefix = static_cast<PrefixTlv *>(cur);
|
||||
RemoveRloc(*prefix, aRloc16);
|
||||
|
||||
if (prefix->GetSubTlvsLength() == 0)
|
||||
@@ -1015,13 +1010,13 @@ ThreadError Leader::RemoveRloc(uint16_t aRloc16)
|
||||
|
||||
ThreadError Leader::RemoveRloc(PrefixTlv &prefix, uint16_t aRloc16)
|
||||
{
|
||||
NetworkDataTlv *cur = reinterpret_cast<NetworkDataTlv *>(prefix.GetSubTlvs());
|
||||
NetworkDataTlv *cur = prefix.GetSubTlvs();
|
||||
NetworkDataTlv *end;
|
||||
ContextTlv *context;
|
||||
|
||||
while (1)
|
||||
{
|
||||
end = reinterpret_cast<NetworkDataTlv *>(prefix.GetSubTlvs() + prefix.GetSubTlvsLength());
|
||||
end = prefix.GetNext();
|
||||
|
||||
if (cur >= end)
|
||||
{
|
||||
@@ -1031,7 +1026,7 @@ ThreadError Leader::RemoveRloc(PrefixTlv &prefix, uint16_t aRloc16)
|
||||
switch (cur->GetType())
|
||||
{
|
||||
case NetworkDataTlv::kTypeHasRoute:
|
||||
RemoveRloc(prefix, *reinterpret_cast<HasRouteTlv *>(cur), aRloc16);
|
||||
RemoveRloc(prefix, *static_cast<HasRouteTlv *>(cur), aRloc16);
|
||||
|
||||
// remove has route tlv if empty
|
||||
if (cur->GetLength() == 0)
|
||||
@@ -1044,7 +1039,7 @@ ThreadError Leader::RemoveRloc(PrefixTlv &prefix, uint16_t aRloc16)
|
||||
break;
|
||||
|
||||
case NetworkDataTlv::kTypeBorderRouter:
|
||||
RemoveRloc(prefix, *reinterpret_cast<BorderRouterTlv *>(cur), aRloc16);
|
||||
RemoveRloc(prefix, *static_cast<BorderRouterTlv *>(cur), aRloc16);
|
||||
|
||||
// remove border router tlv if empty
|
||||
if (cur->GetLength() == 0)
|
||||
@@ -1156,7 +1151,7 @@ ThreadError Leader::RemoveContext(uint8_t aContextId)
|
||||
{
|
||||
case NetworkDataTlv::kTypePrefix:
|
||||
{
|
||||
prefix = reinterpret_cast<PrefixTlv *>(cur);
|
||||
prefix = static_cast<PrefixTlv *>(cur);
|
||||
RemoveContext(*prefix, aContextId);
|
||||
|
||||
if (prefix->GetSubTlvsLength() == 0)
|
||||
@@ -1186,14 +1181,14 @@ ThreadError Leader::RemoveContext(uint8_t aContextId)
|
||||
|
||||
ThreadError Leader::RemoveContext(PrefixTlv &aPrefix, uint8_t aContextId)
|
||||
{
|
||||
NetworkDataTlv *cur = reinterpret_cast<NetworkDataTlv *>(aPrefix.GetSubTlvs());
|
||||
NetworkDataTlv *cur = aPrefix.GetSubTlvs();
|
||||
NetworkDataTlv *end;
|
||||
ContextTlv *context;
|
||||
uint8_t length;
|
||||
|
||||
while (1)
|
||||
{
|
||||
end = reinterpret_cast<NetworkDataTlv *>(aPrefix.GetSubTlvs() + aPrefix.GetSubTlvsLength());
|
||||
end = aPrefix.GetNext();
|
||||
|
||||
if (cur >= end)
|
||||
{
|
||||
@@ -1210,7 +1205,7 @@ ThreadError Leader::RemoveContext(PrefixTlv &aPrefix, uint8_t aContextId)
|
||||
case NetworkDataTlv::kTypeContext:
|
||||
{
|
||||
// remove context tlv
|
||||
context = reinterpret_cast<ContextTlv *>(cur);
|
||||
context = static_cast<ContextTlv *>(cur);
|
||||
|
||||
if (context->GetContextId() == aContextId)
|
||||
{
|
||||
|
||||
@@ -62,7 +62,7 @@ ThreadError Local::AddOnMeshPrefix(const uint8_t *aPrefix, uint8_t aPrefixLength
|
||||
prefixTlv->Init(0, aPrefixLength, aPrefix);
|
||||
prefixTlv->SetSubTlvsLength(sizeof(BorderRouterTlv) + sizeof(BorderRouterEntry));
|
||||
|
||||
brTlv = reinterpret_cast<BorderRouterTlv *>(prefixTlv->GetSubTlvs());
|
||||
brTlv = static_cast<BorderRouterTlv *>(prefixTlv->GetSubTlvs());
|
||||
brTlv->Init();
|
||||
brTlv->SetLength(brTlv->GetLength() + sizeof(BorderRouterEntry));
|
||||
brTlv->GetEntry(0)->Init();
|
||||
@@ -109,7 +109,7 @@ ThreadError Local::AddHasRoutePrefix(const uint8_t *aPrefix, uint8_t aPrefixLeng
|
||||
prefixTlv->Init(0, aPrefixLength, aPrefix);
|
||||
prefixTlv->SetSubTlvsLength(sizeof(HasRouteTlv) + sizeof(HasRouteEntry));
|
||||
|
||||
hasRouteTlv = reinterpret_cast<HasRouteTlv *>(prefixTlv->GetSubTlvs());
|
||||
hasRouteTlv = static_cast<HasRouteTlv *>(prefixTlv->GetSubTlvs());
|
||||
hasRouteTlv->Init();
|
||||
hasRouteTlv->SetLength(hasRouteTlv->GetLength() + sizeof(HasRouteEntry));
|
||||
hasRouteTlv->GetEntry(0)->Init();
|
||||
@@ -151,7 +151,7 @@ ThreadError Local::UpdateRloc(void)
|
||||
switch (cur->GetType())
|
||||
{
|
||||
case NetworkDataTlv::kTypePrefix:
|
||||
UpdateRloc(*reinterpret_cast<PrefixTlv *>(cur));
|
||||
UpdateRloc(*static_cast<PrefixTlv *>(cur));
|
||||
break;
|
||||
|
||||
default:
|
||||
@@ -167,18 +167,16 @@ ThreadError Local::UpdateRloc(void)
|
||||
|
||||
ThreadError Local::UpdateRloc(PrefixTlv &aPrefix)
|
||||
{
|
||||
for (NetworkDataTlv *cur = reinterpret_cast<NetworkDataTlv *>(aPrefix.GetSubTlvs());
|
||||
cur < reinterpret_cast<NetworkDataTlv *>(aPrefix.GetSubTlvs() + aPrefix.GetSubTlvsLength());
|
||||
cur = cur->GetNext())
|
||||
for (NetworkDataTlv *cur = aPrefix.GetSubTlvs(); cur < aPrefix.GetNext(); cur = cur->GetNext())
|
||||
{
|
||||
switch (cur->GetType())
|
||||
{
|
||||
case NetworkDataTlv::kTypeHasRoute:
|
||||
UpdateRloc(*reinterpret_cast<HasRouteTlv *>(cur));
|
||||
UpdateRloc(*static_cast<HasRouteTlv *>(cur));
|
||||
break;
|
||||
|
||||
case NetworkDataTlv::kTypeBorderRouter:
|
||||
UpdateRloc(*reinterpret_cast<BorderRouterTlv *>(cur));
|
||||
UpdateRloc(*static_cast<BorderRouterTlv *>(cur));
|
||||
break;
|
||||
|
||||
default:
|
||||
|
||||
@@ -313,7 +313,10 @@ public:
|
||||
* @returns A pointer to the Sub-TLVs.
|
||||
*
|
||||
*/
|
||||
uint8_t *GetSubTlvs() { return GetPrefix() + BitVectorBytes(mPrefixLength); }
|
||||
NetworkDataTlv *GetSubTlvs() {
|
||||
return reinterpret_cast<NetworkDataTlv *>(GetPrefix() +
|
||||
BitVectorBytes(mPrefixLength));
|
||||
}
|
||||
|
||||
/**
|
||||
* This method returns the Sub-TLVs length in bytes.
|
||||
|
||||
Reference in New Issue
Block a user