From b89a9dfbc117a9c80e795700b6721bfd04161323 Mon Sep 17 00:00:00 2001 From: Jonathan Hui Date: Wed, 24 May 2017 08:35:06 -0700 Subject: [PATCH] Clean up commissioner state names. (#1811) --- include/openthread/commissioner.h | 17 ++++++-- include/openthread/types.h | 12 ------ src/core/meshcop/announce_begin_client.cpp | 2 +- src/core/meshcop/commissioner.cpp | 47 +++++++++++----------- src/core/meshcop/commissioner.hpp | 14 +++++-- src/core/meshcop/dataset_manager.cpp | 5 +-- src/core/meshcop/energy_scan_client.cpp | 2 +- src/core/meshcop/panid_query_client.cpp | 2 +- src/ncp/ncp_base.cpp | 2 +- 9 files changed, 53 insertions(+), 50 deletions(-) diff --git a/include/openthread/commissioner.h b/include/openthread/commissioner.h index cb1db542b..f824e2e78 100644 --- a/include/openthread/commissioner.h +++ b/include/openthread/commissioner.h @@ -52,6 +52,17 @@ extern "C" { * */ +/** + * This enumeration defines the Commissioner State. + * + */ +typedef enum otCommissionerState +{ + OT_COMMISSIONER_STATE_DISABLED = 0, ///< Commissioner role is disabled. + OT_COMMISSIONER_STATE_PETITION = 1, ///< Currently petitioning to become a Commissioner. + OT_COMMISSIONER_STATE_ACTIVE = 2, ///< Commissioner role is active. +} otCommissionerState; + /** * This function enables the Thread Commissioner role. * @@ -248,9 +259,9 @@ OTAPI uint16_t OTCALL otCommissionerGetSessionId(otInstance *aInstance); * * @param[in] aInstance A pointer to an OpenThread instance. * - * @retval kCommissionerStateDisabled Commissioner disabled. - * @retval kCommissionerStatePetition Becoming the commissioner. - * @retval kCommissionerStateActive Commissioner enabled. + * @retval OT_COMMISSIONER_STATE_DISABLED Commissioner disabled. + * @retval OT_COMMISSIONER_STATE_PETITION Becoming the commissioner. + * @retval OT_COMMISSIONER_STATE_ACTIVE Commissioner enabled. * */ OTAPI otCommissionerState OTCALL otCommissionerGetState(otInstance *aInstance); diff --git a/include/openthread/types.h b/include/openthread/types.h index 34efbfbc3..a11a25b9b 100644 --- a/include/openthread/types.h +++ b/include/openthread/types.h @@ -368,18 +368,6 @@ enum OT_SECURITY_POLICY_BEACONS = 1 << 3, ///< Beacons enabled }; -/** -* This enumeration defines the Commissioner State. -* -*/ -typedef enum otCommissionerState -{ - - kCommissionerStateDisabled = 0, - kCommissionerStatePetition = 1, - kCommissionerStateActive = 2, -} otCommissionerState; - /** * This type represents Channel Mask Page 0. * diff --git a/src/core/meshcop/announce_begin_client.cpp b/src/core/meshcop/announce_begin_client.cpp index cd3ccbc1c..f8e148bf5 100644 --- a/src/core/meshcop/announce_begin_client.cpp +++ b/src/core/meshcop/announce_begin_client.cpp @@ -79,7 +79,7 @@ otError AnnounceBeginClient::SendRequest(uint32_t aChannelMask, uint8_t aCount, Ip6::MessageInfo messageInfo; Message *message = NULL; - VerifyOrExit(mNetif.GetCommissioner().GetState() == kCommissionerStateActive, error = OT_ERROR_INVALID_STATE); + VerifyOrExit(mNetif.GetCommissioner().IsActive(), error = OT_ERROR_INVALID_STATE); header.Init(aAddress.IsMulticast() ? kCoapTypeNonConfirmable : kCoapTypeConfirmable, kCoapRequestPost); diff --git a/src/core/meshcop/commissioner.cpp b/src/core/meshcop/commissioner.cpp index 944694caf..e7b673268 100644 --- a/src/core/meshcop/commissioner.cpp +++ b/src/core/meshcop/commissioner.cpp @@ -69,7 +69,7 @@ Commissioner::Commissioner(ThreadNetif &aThreadNetif): mAnnounceBegin(aThreadNetif), mEnergyScan(aThreadNetif), mPanIdQuery(aThreadNetif), - mState(kCommissionerStateDisabled), + mState(OT_COMMISSIONER_STATE_DISABLED), mJoinerPort(0), mJoinerRloc(0), mJoinerExpirationTimer(aThreadNetif.GetIp6().mTimerScheduler, HandleJoinerExpirationTimer, this), @@ -108,11 +108,11 @@ otError Commissioner::Start(void) otError error = OT_ERROR_NONE; otLogFuncEntry(); - VerifyOrExit(mState == kCommissionerStateDisabled, error = OT_ERROR_INVALID_STATE); + VerifyOrExit(mState == OT_COMMISSIONER_STATE_DISABLED, error = OT_ERROR_INVALID_STATE); SuccessOrExit(error = mNetif.GetCoapSecure().Start(OPENTHREAD_CONFIG_JOINER_UDP_PORT, SendRelayTransmit, this)); - mState = kCommissionerStatePetition; + mState = OT_COMMISSIONER_STATE_PETITION; mTransmitAttempts = 0; SendPetition(); @@ -127,11 +127,11 @@ otError Commissioner::Stop(void) otError error = OT_ERROR_NONE; otLogFuncEntry(); - VerifyOrExit(mState != kCommissionerStateDisabled, error = OT_ERROR_INVALID_STATE); + VerifyOrExit(mState != OT_COMMISSIONER_STATE_DISABLED, error = OT_ERROR_INVALID_STATE); mNetif.GetCoapSecure().Stop(); - mState = kCommissionerStateDisabled; + mState = OT_COMMISSIONER_STATE_DISABLED; RemoveCoapResources(); mTransmitAttempts = 0; @@ -153,7 +153,7 @@ otError Commissioner::SendCommissionerSet(void) SteeringDataTlv steeringData; otLogFuncEntry(); - VerifyOrExit(mState == kCommissionerStateActive, error = OT_ERROR_INVALID_STATE); + VerifyOrExit(mState == OT_COMMISSIONER_STATE_ACTIVE, error = OT_ERROR_INVALID_STATE); memset(&dataset, 0, sizeof(dataset)); @@ -211,7 +211,7 @@ otError Commissioner::AddJoiner(const Mac::ExtAddress *aExtAddress, const char * { otError error = OT_ERROR_NO_BUFS; - VerifyOrExit(mState == kCommissionerStateActive, error = OT_ERROR_INVALID_STATE); + VerifyOrExit(mState == OT_COMMISSIONER_STATE_ACTIVE, error = OT_ERROR_INVALID_STATE); otLogFuncEntryMsg("%llX, %s", (aExtAddress ? HostSwap64(*reinterpret_cast(aExtAddress)) : 0), aPSKd); VerifyOrExit(strlen(aPSKd) <= Dtls::kPskMaxLength, error = OT_ERROR_INVALID_ARGS); @@ -254,7 +254,7 @@ otError Commissioner::RemoveJoiner(const Mac::ExtAddress *aExtAddress, uint32_t { otError error = OT_ERROR_NOT_FOUND; - VerifyOrExit(mState == kCommissionerStateActive, error = OT_ERROR_INVALID_STATE); + VerifyOrExit(mState == OT_COMMISSIONER_STATE_ACTIVE, error = OT_ERROR_INVALID_STATE); otLogFuncEntryMsg("%llX", (aExtAddress ? HostSwap64(*reinterpret_cast(aExtAddress)) : 0)); @@ -327,14 +327,14 @@ void Commissioner::HandleTimer(void) { switch (mState) { - case kCommissionerStateDisabled: + case OT_COMMISSIONER_STATE_DISABLED: break; - case kCommissionerStatePetition: + case OT_COMMISSIONER_STATE_PETITION: SendPetition(); break; - case kCommissionerStateActive: + case OT_COMMISSIONER_STATE_ACTIVE: SendKeepAlive(); break; } @@ -638,23 +638,22 @@ void Commissioner::HandleLeaderPetitionResponse(Coap::Header *aHeader, Message * otLogFuncEntry(); - VerifyOrExit(mState == kCommissionerStatePetition, mState = kCommissionerStateDisabled); - VerifyOrExit(aResult == OT_ERROR_NONE && - aHeader->GetCode() == kCoapResponseChanged, retransmit = true); + VerifyOrExit(mState == OT_COMMISSIONER_STATE_PETITION, mState = OT_COMMISSIONER_STATE_DISABLED); + VerifyOrExit(aResult == OT_ERROR_NONE && aHeader->GetCode() == kCoapResponseChanged, retransmit = true); otLogInfoMeshCoP(GetInstance(), "received Leader Petition response"); SuccessOrExit(Tlv::GetTlv(*aMessage, Tlv::kState, sizeof(state), state)); VerifyOrExit(state.IsValid()); - VerifyOrExit(state.GetState() == StateTlv::kAccept, mState = kCommissionerStateDisabled); + VerifyOrExit(state.GetState() == StateTlv::kAccept, mState = OT_COMMISSIONER_STATE_DISABLED); SuccessOrExit(Tlv::GetTlv(*aMessage, Tlv::kCommissionerSessionId, sizeof(sessionId), sessionId)); VerifyOrExit(sessionId.IsValid()); mSessionId = sessionId.GetCommissionerSessionId(); AddCoapResources(); - mState = kCommissionerStateActive; + mState = OT_COMMISSIONER_STATE_ACTIVE; mTransmitAttempts = 0; mTimer.Start(Timer::SecToMsec(kKeepAliveTimeout) / 2); @@ -665,7 +664,7 @@ exit: { if (mTransmitAttempts >= kPetitionRetryCount) { - mState = kCommissionerStateDisabled; + mState = OT_COMMISSIONER_STATE_DISABLED; } else { @@ -695,7 +694,7 @@ otError Commissioner::SendKeepAlive(void) VerifyOrExit((message = NewMeshCoPMessage(mNetif.GetCoap(), header)) != NULL, error = OT_ERROR_NO_BUFS); state.Init(); - state.SetState(mState == kCommissionerStateActive ? StateTlv::kAccept : StateTlv::kReject); + state.SetState(mState == OT_COMMISSIONER_STATE_ACTIVE ? StateTlv::kAccept : StateTlv::kReject); SuccessOrExit(error = message->Append(&state, sizeof(state))); sessionId.Init(); @@ -738,22 +737,22 @@ void Commissioner::HandleLeaderKeepAliveResponse(Coap::Header *aHeader, Message otLogFuncEntry(); - VerifyOrExit(mState == kCommissionerStateActive, mState = kCommissionerStateDisabled); - VerifyOrExit(aResult == OT_ERROR_NONE && - aHeader->GetCode() == kCoapResponseChanged, mState = kCommissionerStateDisabled); + VerifyOrExit(mState == OT_COMMISSIONER_STATE_ACTIVE, mState = OT_COMMISSIONER_STATE_DISABLED); + VerifyOrExit(aResult == OT_ERROR_NONE && aHeader->GetCode() == kCoapResponseChanged, + mState = OT_COMMISSIONER_STATE_DISABLED); otLogInfoMeshCoP(GetInstance(), "received Leader Petition response"); SuccessOrExit(Tlv::GetTlv(*aMessage, Tlv::kState, sizeof(state), state)); VerifyOrExit(state.IsValid()); - VerifyOrExit(state.GetState() == StateTlv::kAccept, mState = kCommissionerStateDisabled); + VerifyOrExit(state.GetState() == StateTlv::kAccept, mState = OT_COMMISSIONER_STATE_DISABLED); mTimer.Start(Timer::SecToMsec(kKeepAliveTimeout) / 2); exit: - if (mState != kCommissionerStateActive) + if (mState != OT_COMMISSIONER_STATE_ACTIVE) { RemoveCoapResources(); } @@ -782,7 +781,7 @@ void Commissioner::HandleRelayReceive(Coap::Header &aHeader, Message &aMessage, otLogFuncEntry(); - VerifyOrExit(mState == kCommissionerStateActive, error = OT_ERROR_INVALID_STATE); + VerifyOrExit(mState == OT_COMMISSIONER_STATE_ACTIVE, error = OT_ERROR_INVALID_STATE); VerifyOrExit(aHeader.GetType() == kCoapTypeNonConfirmable && aHeader.GetCode() == kCoapRequestPost); diff --git a/src/core/meshcop/commissioner.hpp b/src/core/meshcop/commissioner.hpp index 9ef5c6c8e..8ac4899e6 100644 --- a/src/core/meshcop/commissioner.hpp +++ b/src/core/meshcop/commissioner.hpp @@ -139,14 +139,22 @@ public: */ uint16_t GetSessionId(void) const; + /** + * This method indicates whether or not the Commissioner role is active. + * + * @returns TRUE if the Commissioner role is active, FALSE otherwise. + * + */ + bool IsActive(void) const { return mState == OT_COMMISSIONER_STATE_ACTIVE; } + /** * This function returns the Commissioner State. * * @param[in] aInstance A pointer to an OpenThread instance. * - * @retval kCommissionerStateDisabled Commissioner disabled. - * @retval kCommissionerStatePetition Becoming the commissioner. - * @retval kCommissionerStateActive Commissioner enabled. + * @retval OT_COMMISSIONER_STATE_DISABLED Commissioner disabled. + * @retval OT_COMMISSIONER_STATE_PETITION Becoming the commissioner. + * @retval OT_COMIMSSIONER_STATE_ACTIVE Commissioner enabled. * */ otCommissionerState GetState(void) const; diff --git a/src/core/meshcop/dataset_manager.cpp b/src/core/meshcop/dataset_manager.cpp index 29ab18562..42fdeb022 100644 --- a/src/core/meshcop/dataset_manager.cpp +++ b/src/core/meshcop/dataset_manager.cpp @@ -601,11 +601,8 @@ otError DatasetManager::SendSetRequest(const otOperationalDataset &aDataset, con VerifyOrExit((message = NewMeshCoPMessage(mNetif.GetCoap(), header)) != NULL, error = OT_ERROR_NO_BUFS); #if OPENTHREAD_ENABLE_COMMISSIONER && OPENTHREAD_FTD - bool isCommissioner; - isCommissioner = mNetif.GetCommissioner().GetState() != kCommissionerStateDisabled ? true : false; - - if (isCommissioner) + if (mNetif.GetCommissioner().IsActive()) { const uint8_t *cur = aTlvs; const uint8_t *end = aTlvs + aLength; diff --git a/src/core/meshcop/energy_scan_client.cpp b/src/core/meshcop/energy_scan_client.cpp index 3a762e5b9..a2f6cd1be 100644 --- a/src/core/meshcop/energy_scan_client.cpp +++ b/src/core/meshcop/energy_scan_client.cpp @@ -88,7 +88,7 @@ otError EnergyScanClient::SendQuery(uint32_t aChannelMask, uint8_t aCount, uint1 Ip6::MessageInfo messageInfo; Message *message = NULL; - VerifyOrExit(mNetif.GetCommissioner().GetState() == kCommissionerStateActive, error = OT_ERROR_INVALID_STATE); + VerifyOrExit(mNetif.GetCommissioner().IsActive(), error = OT_ERROR_INVALID_STATE); header.Init(aAddress.IsMulticast() ? kCoapTypeNonConfirmable : kCoapTypeConfirmable, kCoapRequestPost); diff --git a/src/core/meshcop/panid_query_client.cpp b/src/core/meshcop/panid_query_client.cpp index f29371fbb..a30f59042 100644 --- a/src/core/meshcop/panid_query_client.cpp +++ b/src/core/meshcop/panid_query_client.cpp @@ -81,7 +81,7 @@ otError PanIdQueryClient::SendQuery(uint16_t aPanId, uint32_t aChannelMask, cons Ip6::MessageInfo messageInfo; Message *message = NULL; - VerifyOrExit(mNetif.GetCommissioner().GetState() == kCommissionerStateActive, error = OT_ERROR_INVALID_STATE); + VerifyOrExit(mNetif.GetCommissioner().IsActive(), error = OT_ERROR_INVALID_STATE); header.Init(aAddress.IsMulticast() ? kCoapTypeNonConfirmable : kCoapTypeConfirmable, kCoapRequestPost); diff --git a/src/ncp/ncp_base.cpp b/src/ncp/ncp_base.cpp index ccf4b2378..9e2ed4913 100644 --- a/src/ncp/ncp_base.cpp +++ b/src/ncp/ncp_base.cpp @@ -3665,7 +3665,7 @@ otError NcpBase::GetPropertyHandler_THREAD_NETWORK_ID_TIMEOUT(uint8_t header, sp otError NcpBase::GetPropertyHandler_THREAD_COMMISSIONER_ENABLED(uint8_t header, spinel_prop_key_t key) { bool isEnabled = false; - if (otCommissionerGetState(mInstance) == kCommissionerStateActive) + if (otCommissionerGetState(mInstance) == OT_COMMISSIONER_STATE_ACTIVE) isEnabled = true; return SendPropertyUpdate(