mirror of
https://github.com/espressif/openthread.git
synced 2026-08-22 02:19:52 +00:00
Refactor OpenThread Global Variables into a Single Context Structure (#357)
* Refactor OpenThread to contain all global/static variables in a single context structure.
This commit is contained in:
+5
-6
@@ -42,6 +42,7 @@
|
||||
#include <string.h>
|
||||
|
||||
#include <openthread.h>
|
||||
#include <openthread-instance.h>
|
||||
#include <openthread-diag.h>
|
||||
#include <commissioning/commissioner.h>
|
||||
#include <commissioning/joiner.h>
|
||||
@@ -59,8 +60,6 @@ using Thread::Encoding::BigEndian::HostSwap32;
|
||||
|
||||
namespace Thread {
|
||||
|
||||
extern Ip6::Ip6 *sIp6;
|
||||
|
||||
namespace Cli {
|
||||
|
||||
const struct Command Interpreter::sCommands[] =
|
||||
@@ -133,10 +132,10 @@ Interpreter::Interpreter(otInstance *aInstance):
|
||||
sLength(8),
|
||||
sCount(1),
|
||||
sInterval(1000),
|
||||
sPingTimer(sIp6->mTimerScheduler, &Interpreter::s_HandlePingTimer, this),
|
||||
sPingTimer(aInstance->mIp6.mTimerScheduler, &Interpreter::s_HandlePingTimer, this),
|
||||
mInstance(aInstance)
|
||||
{
|
||||
sIp6->mIcmp.SetEchoReplyHandler(&s_HandleEchoResponse, this);
|
||||
mInstance->mIp6.mIcmp.SetEchoReplyHandler(&s_HandleEchoResponse, this);
|
||||
otSetStateChangedCallback(mInstance, &Interpreter::s_HandleNetifStateChanged, this);
|
||||
}
|
||||
|
||||
@@ -1142,11 +1141,11 @@ void Interpreter::HandlePingTimer()
|
||||
uint32_t timestamp = HostSwap32(Timer::GetNow());
|
||||
Message *message;
|
||||
|
||||
VerifyOrExit((message = sIp6->mIcmp.NewMessage(0)) != NULL, error = kThreadError_NoBufs);
|
||||
VerifyOrExit((message = mInstance->mIp6.mIcmp.NewMessage(0)) != NULL, error = kThreadError_NoBufs);
|
||||
SuccessOrExit(error = message->Append(×tamp, sizeof(timestamp)));
|
||||
SuccessOrExit(error = message->SetLength(sLength));
|
||||
|
||||
SuccessOrExit(error = sIp6->mIcmp.SendEchoRequest(*message, sMessageInfo));
|
||||
SuccessOrExit(error = mInstance->mIp6.mIcmp.SendEchoRequest(*message, sMessageInfo));
|
||||
sCount--;
|
||||
|
||||
exit:
|
||||
|
||||
Reference in New Issue
Block a user