otInstance Declarations (#473)

* Add otInstance type declaration and update ot APIs to take it as input.
This commit is contained in:
Nick Banks
2016-09-12 14:29:43 -07:00
committed by Jonathan Hui
parent 9b1de7bbb2
commit ffbe65c6dd
67 changed files with 1560 additions and 1099 deletions
+56 -28
View File
@@ -176,7 +176,7 @@ ThreadError Dataset::Print(otOperationalDataset &aDataset)
return kThreadError_None;
}
ThreadError Dataset::Process(int argc, char *argv[], Server &aServer)
ThreadError Dataset::Process(otInstance *aInstance, int argc, char *argv[], Server &aServer)
{
ThreadError error = kThreadError_None;
@@ -191,7 +191,7 @@ ThreadError Dataset::Process(int argc, char *argv[], Server &aServer)
{
if (strcmp(argv[0], sCommands[i].mName) == 0)
{
error = sCommands[i].mCommand(argc - 1, argv + 1);
error = sCommands[i].mCommand(aInstance, argc - 1, argv + 1);
break;
}
}
@@ -200,29 +200,30 @@ exit:
return error;
}
ThreadError Dataset::ProcessHelp(int argc, char *argv[])
ThreadError Dataset::ProcessHelp(otInstance *aInstance, int argc, char *argv[])
{
for (unsigned int i = 0; i < sizeof(sCommands) / sizeof(sCommands[0]); i++)
{
sServer->OutputFormat("%s\r\n", sCommands[i].mName);
}
(void)aInstance;
(void)argc;
(void)argv;
return kThreadError_None;
}
ThreadError Dataset::ProcessActive(int argc, char *argv[])
ThreadError Dataset::ProcessActive(otInstance *aInstance, int argc, char *argv[])
{
otOperationalDataset dataset;
otGetActiveDataset(&dataset);
otGetActiveDataset(aInstance, &dataset);
(void)argc;
(void)argv;
return Print(dataset);
}
ThreadError Dataset::ProcessActiveTimestamp(int argc, char *argv[])
ThreadError Dataset::ProcessActiveTimestamp(otInstance *aInstance, int argc, char *argv[])
{
ThreadError error = kThreadError_None;
long value;
@@ -233,11 +234,13 @@ ThreadError Dataset::ProcessActiveTimestamp(int argc, char *argv[])
sDataset.mActiveTimestamp = static_cast<uint64_t>(value);
sDataset.mIsActiveTimestampSet = true;
(void)aInstance;
exit:
return error;
}
ThreadError Dataset::ProcessChannel(int argc, char *argv[])
ThreadError Dataset::ProcessChannel(otInstance *aInstance, int argc, char *argv[])
{
ThreadError error = kThreadError_None;
long value;
@@ -247,19 +250,22 @@ ThreadError Dataset::ProcessChannel(int argc, char *argv[])
sDataset.mChannel = static_cast<uint16_t>(value);
sDataset.mIsChannelSet = true;
(void)aInstance;
exit:
return error;
}
ThreadError Dataset::ProcessClear(int argc, char *argv[])
ThreadError Dataset::ProcessClear(otInstance *aInstance, int argc, char *argv[])
{
memset(&sDataset, 0, sizeof(sDataset));
(void)aInstance;
(void)argc;
(void)argv;
return kThreadError_None;
}
ThreadError Dataset::ProcessCommit(int argc, char *argv[])
ThreadError Dataset::ProcessCommit(otInstance *aInstance, int argc, char *argv[])
{
ThreadError error = kThreadError_None;
@@ -267,22 +273,24 @@ ThreadError Dataset::ProcessCommit(int argc, char *argv[])
if (strcmp(argv[0], "active") == 0)
{
SuccessOrExit(error = otSetActiveDataset(&sDataset));
SuccessOrExit(error = otSetActiveDataset(aInstance, &sDataset));
}
else if (strcmp(argv[0], "pending") == 0)
{
SuccessOrExit(error = otSetPendingDataset(&sDataset));
SuccessOrExit(error = otSetPendingDataset(aInstance, &sDataset));
}
else
{
ExitNow(error = kThreadError_Parse);
}
(void)aInstance;
exit:
return error;
}
ThreadError Dataset::ProcessDelay(int argc, char *argv[])
ThreadError Dataset::ProcessDelay(otInstance *aInstance, int argc, char *argv[])
{
ThreadError error = kThreadError_None;
long value;
@@ -292,11 +300,13 @@ ThreadError Dataset::ProcessDelay(int argc, char *argv[])
sDataset.mDelay = static_cast<uint32_t>(value);
sDataset.mIsDelaySet = true;
(void)aInstance;
exit:
return error;
}
ThreadError Dataset::ProcessExtPanId(int argc, char *argv[])
ThreadError Dataset::ProcessExtPanId(otInstance *aInstance, int argc, char *argv[])
{
ThreadError error = kThreadError_None;
uint8_t extPanId[OT_EXT_PAN_ID_SIZE];
@@ -307,11 +317,13 @@ ThreadError Dataset::ProcessExtPanId(int argc, char *argv[])
memcpy(sDataset.mExtendedPanId.m8, extPanId, sizeof(sDataset.mExtendedPanId));
sDataset.mIsExtendedPanIdSet = true;
(void)aInstance;
exit:
return error;
}
ThreadError Dataset::ProcessMasterKey(int argc, char *argv[])
ThreadError Dataset::ProcessMasterKey(otInstance *aInstance, int argc, char *argv[])
{
ThreadError error = kThreadError_None;
int keyLength;
@@ -324,11 +336,13 @@ ThreadError Dataset::ProcessMasterKey(int argc, char *argv[])
memcpy(sDataset.mMasterKey.m8, key, sizeof(sDataset.mMasterKey));
sDataset.mIsMasterKeySet = true;
(void)aInstance;
exit:
return error;
}
ThreadError Dataset::ProcessMeshLocalPrefix(int argc, char *argv[])
ThreadError Dataset::ProcessMeshLocalPrefix(otInstance *aInstance, int argc, char *argv[])
{
ThreadError error = kThreadError_None;
otIp6Address prefix;
@@ -339,11 +353,13 @@ ThreadError Dataset::ProcessMeshLocalPrefix(int argc, char *argv[])
memcpy(sDataset.mMeshLocalPrefix.m8, prefix.mFields.m8, sizeof(sDataset.mMeshLocalPrefix.m8));
sDataset.mIsMeshLocalPrefixSet = true;
(void)aInstance;
exit:
return error;
}
ThreadError Dataset::ProcessNetworkName(int argc, char *argv[])
ThreadError Dataset::ProcessNetworkName(otInstance *aInstance, int argc, char *argv[])
{
ThreadError error = kThreadError_None;
size_t length;
@@ -355,11 +371,13 @@ ThreadError Dataset::ProcessNetworkName(int argc, char *argv[])
memcpy(sDataset.mNetworkName.m8, argv[0], length);
sDataset.mIsNetworkNameSet = true;
(void)aInstance;
exit:
return error;
}
ThreadError Dataset::ProcessPanId(int argc, char *argv[])
ThreadError Dataset::ProcessPanId(otInstance *aInstance, int argc, char *argv[])
{
ThreadError error = kThreadError_None;
long value;
@@ -369,21 +387,23 @@ ThreadError Dataset::ProcessPanId(int argc, char *argv[])
sDataset.mPanId = static_cast<otPanId>(value);
sDataset.mIsPanIdSet = true;
(void)aInstance;
exit:
return error;
}
ThreadError Dataset::ProcessPending(int argc, char *argv[])
ThreadError Dataset::ProcessPending(otInstance *aInstance, int argc, char *argv[])
{
otOperationalDataset dataset;
otGetPendingDataset(&dataset);
otGetPendingDataset(aInstance, &dataset);
(void)argc;
(void)argv;
return Print(dataset);
}
ThreadError Dataset::ProcessPendingTimestamp(int argc, char *argv[])
ThreadError Dataset::ProcessPendingTimestamp(otInstance *aInstance, int argc, char *argv[])
{
ThreadError error = kThreadError_None;
long value;
@@ -393,11 +413,13 @@ ThreadError Dataset::ProcessPendingTimestamp(int argc, char *argv[])
sDataset.mPendingTimestamp = static_cast<uint64_t>(value);
sDataset.mIsPendingTimestampSet = true;
(void)aInstance;
exit:
return error;
}
ThreadError Dataset::ProcessMgmtSetCommand(int argc, char *argv[])
ThreadError Dataset::ProcessMgmtSetCommand(otInstance *aInstance, int argc, char *argv[])
{
ThreadError error = kThreadError_None;
otOperationalDataset dataset;
@@ -495,22 +517,24 @@ ThreadError Dataset::ProcessMgmtSetCommand(int argc, char *argv[])
if (strcmp(argv[0], "active") == 0)
{
SuccessOrExit(error = otSendActiveSet(&dataset, tlvs, static_cast<uint8_t>(length)));
SuccessOrExit(error = otSendActiveSet(aInstance, &dataset, tlvs, static_cast<uint8_t>(length)));
}
else if (strcmp(argv[0], "pending") == 0)
{
SuccessOrExit(error = otSendPendingSet(&dataset, tlvs, static_cast<uint8_t>(length)));
SuccessOrExit(error = otSendPendingSet(aInstance, &dataset, tlvs, static_cast<uint8_t>(length)));
}
else
{
ExitNow(error = kThreadError_Parse);
}
(void)aInstance;
exit:
return error;
}
ThreadError Dataset::ProcessMgmtGetCommand(int argc, char *argv[])
ThreadError Dataset::ProcessMgmtGetCommand(otInstance *aInstance, int argc, char *argv[])
{
ThreadError error = kThreadError_None;
otOperationalDataset dataset;
@@ -579,22 +603,24 @@ ThreadError Dataset::ProcessMgmtGetCommand(int argc, char *argv[])
if (strcmp(argv[0], "active") == 0)
{
SuccessOrExit(error = otSendActiveGet(tlvs, static_cast<uint8_t>(length)));
SuccessOrExit(error = otSendActiveGet(aInstance, tlvs, static_cast<uint8_t>(length)));
}
else if (strcmp(argv[0], "pending") == 0)
{
SuccessOrExit(error = otSendPendingGet(tlvs, static_cast<uint8_t>(length)));
SuccessOrExit(error = otSendPendingGet(aInstance, tlvs, static_cast<uint8_t>(length)));
}
else
{
ExitNow(error = kThreadError_Parse);
}
(void)aInstance;
exit:
return error;
}
ThreadError Dataset::ProcessPSKc(int argc, char *argv[])
ThreadError Dataset::ProcessPSKc(otInstance *aInstance, int argc, char *argv[])
{
ThreadError error = kThreadError_None;
uint16_t length;
@@ -607,12 +633,13 @@ ThreadError Dataset::ProcessPSKc(int argc, char *argv[])
== length, error = kThreadError_Parse);
sDataset.mIsPSKcSet = true;
(void)aInstance;
exit:
return error;
}
ThreadError Dataset::ProcessSecurityPolicy(int argc, char *argv[])
ThreadError Dataset::ProcessSecurityPolicy(otInstance *aInstance, int argc, char *argv[])
{
ThreadError error = kThreadError_None;
long value;
@@ -656,6 +683,7 @@ ThreadError Dataset::ProcessSecurityPolicy(int argc, char *argv[])
}
sDataset.mIsSecurityPolicySet = true;
(void)aInstance;
exit:
return error;