[commissioner] add 'state' CLI command (#5317)

This commit is contained in:
Jonathan Hui
2020-08-01 10:50:07 -07:00
committed by GitHub
parent ccbb304969
commit 075017bedc
3 changed files with 34 additions and 5 deletions
+22 -5
View File
@@ -47,7 +47,7 @@ const struct Commissioner::Command Commissioner::sCommands[] = {
{"mgmtget", &Commissioner::ProcessMgmtGet}, {"mgmtset", &Commissioner::ProcessMgmtSet},
{"panid", &Commissioner::ProcessPanId}, {"provisioningurl", &Commissioner::ProcessProvisioningUrl},
{"sessionid", &Commissioner::ProcessSessionId}, {"start", &Commissioner::ProcessStart},
{"stop", &Commissioner::ProcessStop},
{"state", &Commissioner::ProcessState}, {"stop", &Commissioner::ProcessStop},
};
otError Commissioner::ProcessHelp(uint8_t aArgsLength, char *aArgs[])
@@ -344,20 +344,27 @@ void Commissioner::HandleStateChanged(otCommissionerState aState, void *aContext
void Commissioner::HandleStateChanged(otCommissionerState aState)
{
mInterpreter.mServer->OutputFormat("Commissioner: ");
mInterpreter.mServer->OutputFormat("Commissioner: %s\r\n", StateToString(aState));
}
const char *Commissioner::StateToString(otCommissionerState aState)
{
const char *rval = "unknown";
switch (aState)
{
case OT_COMMISSIONER_STATE_DISABLED:
mInterpreter.mServer->OutputFormat("disabled\r\n");
rval = "disabled";
break;
case OT_COMMISSIONER_STATE_PETITION:
mInterpreter.mServer->OutputFormat("petitioning\r\n");
rval = "petitioning";
break;
case OT_COMMISSIONER_STATE_ACTIVE:
mInterpreter.mServer->OutputFormat("active\r\n");
rval = "active";
break;
}
return rval;
}
void Commissioner::HandleJoinerEvent(otCommissionerJoinerEvent aEvent,
@@ -411,6 +418,16 @@ otError Commissioner::ProcessStop(uint8_t aArgsLength, char *aArgs[])
return otCommissionerStop(mInterpreter.mInstance);
}
otError Commissioner::ProcessState(uint8_t aArgsLength, char *aArgs[])
{
OT_UNUSED_VARIABLE(aArgsLength);
OT_UNUSED_VARIABLE(aArgs);
mInterpreter.mServer->OutputFormat("%s\r\n", StateToString(otCommissionerGetState(mInterpreter.mInstance)));
return OT_ERROR_NONE;
}
otError Commissioner::Process(uint8_t aArgsLength, char *aArgs[])
{
otError error = OT_ERROR_INVALID_COMMAND;
+3
View File
@@ -94,6 +94,7 @@ private:
otError ProcessProvisioningUrl(uint8_t aArgsLength, char *aArgs[]);
otError ProcessSessionId(uint8_t aArgsLength, char *aArgs[]);
otError ProcessStart(uint8_t aArgsLength, char *aArgs[]);
otError ProcessState(uint8_t aArgsLength, char *aArgs[]);
otError ProcessStop(uint8_t aArgsLength, char *aArgs[]);
static void HandleStateChanged(otCommissionerState aState, void *aContext);
@@ -116,6 +117,8 @@ private:
static void HandlePanIdConflict(uint16_t aPanId, uint32_t aChannelMask, void *aContext);
void HandlePanIdConflict(uint16_t aPanId, uint32_t aChannelMask);
static const char *StateToString(otCommissionerState aState);
static const Command sCommands[];
Interpreter & mInterpreter;
};
@@ -33,9 +33,15 @@ source "tests/scripts/expect/_multinode.exp"
setup_nodes
set spawn_id $spawn_2
send "commissioner state\n"
expect "disabled"
expect "Done"
send "commissioner start\n"
expect "Done"
expect "Commissioner: active"
send "commissioner state\n"
expect "active"
expect "Done"
send "commissioner provisioningurl openthread.io\n"
expect "Done"
send "commissioner joiner add * J01NME 1\n"
@@ -55,6 +61,9 @@ expect "Done"
send "commissioner stop\n"
expect "Commissioner: disabled"
expect "Done"
send "commissioner state\n"
expect "disabled"
expect "Done"
send "commissioner help\n"
expect "Done"
send "commissioner joiner something_invalid\n"