Automatic Joiners removal in Commissioner (#1421)

* Implement automatic Joiner removal feature.

* Save some RAM in JoinerRouter class.

* Specify timeout for each Joiner separately.

* Update Windows API files.
This commit is contained in:
Robert Lubos
2017-03-08 14:19:12 +01:00
committed by Jonathan Hui
parent 6eaacdd4a4
commit 746a40a340
12 changed files with 121 additions and 23 deletions
+9 -1
View File
@@ -2327,7 +2327,15 @@ void Interpreter::ProcessCommissioner(int argc, char *argv[])
if (strcmp(argv[1], "add") == 0)
{
VerifyOrExit(argc > 3, error = kThreadError_Parse);
SuccessOrExit(error = otCommissionerAddJoiner(mInstance, addrPtr, argv[3]));
// Timeout parameter is optional - if not specified, use default value.
unsigned long timeout = kDefaultJoinerTimeout;
if (argc > 4)
{
SuccessOrExit(error = ParseUnsignedLong(argv[4], timeout));
}
SuccessOrExit(error = otCommissionerAddJoiner(mInstance, addrPtr, argv[3], static_cast<uint32_t>(timeout)));
}
else if (strcmp(argv[1], "remove") == 0)
{