diff --git a/Android.mk b/Android.mk
index f8da48839..dc7af41e6 100644
--- a/Android.mk
+++ b/Android.mk
@@ -115,7 +115,6 @@ LOCAL_SRC_FILES := \
src/core/common/crc16.cpp \
src/core/common/instance.cpp \
src/core/common/logging.cpp \
- src/core/common/locator.cpp \
src/core/common/message.cpp \
src/core/common/notifier.cpp \
src/core/common/settings.cpp \
diff --git a/etc/visual-studio/libopenthread.vcxproj b/etc/visual-studio/libopenthread.vcxproj
index adf19303e..712b55d6c 100644
--- a/etc/visual-studio/libopenthread.vcxproj
+++ b/etc/visual-studio/libopenthread.vcxproj
@@ -78,7 +78,6 @@
-
@@ -171,6 +170,7 @@
+
diff --git a/etc/visual-studio/libopenthread.vcxproj.filters b/etc/visual-studio/libopenthread.vcxproj.filters
index c54bd11ff..d9c6e7127 100644
--- a/etc/visual-studio/libopenthread.vcxproj.filters
+++ b/etc/visual-studio/libopenthread.vcxproj.filters
@@ -132,9 +132,6 @@
Source Files\common
-
- Source Files\common
-
Source Files\common
@@ -401,6 +398,9 @@
Header Files\common
+
+ Header Files\common
+
Header Files\common
diff --git a/etc/visual-studio/libopenthread_k.vcxproj b/etc/visual-studio/libopenthread_k.vcxproj
index dfb541c55..cb35102bf 100644
--- a/etc/visual-studio/libopenthread_k.vcxproj
+++ b/etc/visual-studio/libopenthread_k.vcxproj
@@ -87,7 +87,6 @@
-
@@ -198,6 +197,7 @@
+
diff --git a/etc/visual-studio/libopenthread_k.vcxproj.filters b/etc/visual-studio/libopenthread_k.vcxproj.filters
index 028cc5ab2..5ad9902e6 100644
--- a/etc/visual-studio/libopenthread_k.vcxproj.filters
+++ b/etc/visual-studio/libopenthread_k.vcxproj.filters
@@ -129,9 +129,6 @@
Source Files\common
-
- Source Files\common
-
Source Files\common
@@ -395,6 +392,9 @@
Header Files\common
+
+ Header Files\common
+
Header Files\common
diff --git a/src/core/Makefile.am b/src/core/Makefile.am
index 9fc53e35e..5e866f970 100644
--- a/src/core/Makefile.am
+++ b/src/core/Makefile.am
@@ -135,7 +135,6 @@ SOURCES_COMMON = \
coap/coap_secure.cpp \
common/crc16.cpp \
common/instance.cpp \
- common/locator.cpp \
common/logging.cpp \
common/message.cpp \
common/notifier.cpp \
@@ -236,7 +235,6 @@ libopenthread_radio_a_SOURCES = \
api/message_api.cpp \
api/tasklet_api.cpp \
common/instance.cpp \
- common/locator.cpp \
common/logging.cpp \
common/message.cpp \
common/string.cpp \
@@ -297,11 +295,11 @@ HEADERS_COMMON = \
common/extension.hpp \
common/instance.hpp \
common/locator.hpp \
+ common/locator-getters.hpp \
common/logging.hpp \
common/message.hpp \
common/new.hpp \
common/notifier.hpp \
- common/owner-locator.hpp \
common/random.hpp \
common/settings.hpp \
common/string.hpp \
diff --git a/src/core/api/border_agent_api.cpp b/src/core/api/border_agent_api.cpp
index 110936c4f..641f4e883 100644
--- a/src/core/api/border_agent_api.cpp
+++ b/src/core/api/border_agent_api.cpp
@@ -36,6 +36,7 @@
#include
#include "common/instance.hpp"
+#include "common/locator-getters.hpp"
#if OPENTHREAD_ENABLE_BORDER_AGENT
@@ -45,7 +46,7 @@ otBorderAgentState otBorderAgentGetState(otInstance *aInstance)
{
Instance &instance = *static_cast(aInstance);
- return instance.GetThreadNetif().GetBorderAgent().GetState();
+ return instance.Get().GetState();
}
#endif // OPENTHREAD_ENABLE_BORDER_AGENT
diff --git a/src/core/api/border_router_api.cpp b/src/core/api/border_router_api.cpp
index a8ed43992..90d0ac5d2 100644
--- a/src/core/api/border_router_api.cpp
+++ b/src/core/api/border_router_api.cpp
@@ -38,6 +38,7 @@
#include
#include "common/instance.hpp"
+#include "common/locator-getters.hpp"
using namespace ot;
@@ -48,7 +49,7 @@ otError otBorderRouterGetNetData(otInstance *aInstance, bool aStable, uint8_t *a
VerifyOrExit(aData != NULL && aDataLength != NULL, error = OT_ERROR_INVALID_ARGS);
- error = instance.GetThreadNetif().GetNetworkDataLocal().GetNetworkData(aStable, aData, *aDataLength);
+ error = instance.Get().GetNetworkData(aStable, aData, *aDataLength);
exit:
return error;
@@ -89,7 +90,7 @@ otError otBorderRouterAddOnMeshPrefix(otInstance *aInstance, const otBorderRoute
flags |= NetworkData::BorderRouterEntry::kOnMeshFlag;
}
- return instance.GetThreadNetif().GetNetworkDataLocal().AddOnMeshPrefix(
+ return instance.Get().AddOnMeshPrefix(
aConfig->mPrefix.mPrefix.mFields.m8, aConfig->mPrefix.mLength, aConfig->mPreference, flags, aConfig->mStable);
}
@@ -97,8 +98,7 @@ otError otBorderRouterRemoveOnMeshPrefix(otInstance *aInstance, const otIp6Prefi
{
Instance &instance = *static_cast(aInstance);
- return instance.GetThreadNetif().GetNetworkDataLocal().RemoveOnMeshPrefix(aPrefix->mPrefix.mFields.m8,
- aPrefix->mLength);
+ return instance.Get().RemoveOnMeshPrefix(aPrefix->mPrefix.mFields.m8, aPrefix->mLength);
}
otError otBorderRouterGetNextOnMeshPrefix(otInstance * aInstance,
@@ -110,7 +110,7 @@ otError otBorderRouterGetNextOnMeshPrefix(otInstance * aInstance,
VerifyOrExit(aIterator && aConfig, error = OT_ERROR_INVALID_ARGS);
- error = instance.GetThreadNetif().GetNetworkDataLocal().GetNextOnMeshPrefix(aIterator, aConfig);
+ error = instance.Get().GetNextOnMeshPrefix(aIterator, aConfig);
exit:
return error;
@@ -120,7 +120,7 @@ otError otBorderRouterAddRoute(otInstance *aInstance, const otExternalRouteConfi
{
Instance &instance = *static_cast(aInstance);
- return instance.GetThreadNetif().GetNetworkDataLocal().AddHasRoutePrefix(
+ return instance.Get().AddHasRoutePrefix(
aConfig->mPrefix.mPrefix.mFields.m8, aConfig->mPrefix.mLength, aConfig->mPreference, aConfig->mStable);
}
@@ -128,8 +128,7 @@ otError otBorderRouterRemoveRoute(otInstance *aInstance, const otIp6Prefix *aPre
{
Instance &instance = *static_cast(aInstance);
- return instance.GetThreadNetif().GetNetworkDataLocal().RemoveHasRoutePrefix(aPrefix->mPrefix.mFields.m8,
- aPrefix->mLength);
+ return instance.Get().RemoveHasRoutePrefix(aPrefix->mPrefix.mFields.m8, aPrefix->mLength);
}
otError otBorderRouterGetNextRoute(otInstance * aInstance,
@@ -141,7 +140,7 @@ otError otBorderRouterGetNextRoute(otInstance * aInstance,
VerifyOrExit(aIterator && aConfig, error = OT_ERROR_INVALID_ARGS);
- error = instance.GetThreadNetif().GetNetworkDataLocal().GetNextExternalRoute(aIterator, aConfig);
+ error = instance.Get().GetNextExternalRoute(aIterator, aConfig);
exit:
return error;
@@ -151,7 +150,7 @@ otError otBorderRouterRegister(otInstance *aInstance)
{
Instance &instance = *static_cast(aInstance);
- return instance.GetThreadNetif().GetNetworkDataLocal().SendServerDataNotification();
+ return instance.Get().SendServerDataNotification();
}
#endif // OPENTHREAD_ENABLE_BORDER_ROUTER
diff --git a/src/core/api/channel_manager_api.cpp b/src/core/api/channel_manager_api.cpp
index 71a09522c..a9835e20a 100644
--- a/src/core/api/channel_manager_api.cpp
+++ b/src/core/api/channel_manager_api.cpp
@@ -35,6 +35,7 @@
#include "openthread/channel_manager.h"
#include "common/instance.hpp"
+#include "common/locator-getters.hpp"
#include "utils/channel_manager.hpp"
using namespace ot;
@@ -45,91 +46,91 @@ void otChannelManagerRequestChannelChange(otInstance *aInstance, uint8_t aChanne
{
Instance &instance = *static_cast(aInstance);
- instance.GetChannelManager().RequestChannelChange(aChannel);
+ instance.Get().RequestChannelChange(aChannel);
}
uint8_t otChannelManagerGetRequestedChannel(otInstance *aInstance)
{
Instance &instance = *static_cast(aInstance);
- return instance.GetChannelManager().GetRequestedChannel();
+ return instance.Get().GetRequestedChannel();
}
uint16_t otChannelManagerGetDelay(otInstance *aInstance)
{
Instance &instance = *static_cast(aInstance);
- return instance.GetChannelManager().GetDelay();
+ return instance.Get().GetDelay();
}
otError otChannelManagerSetDelay(otInstance *aInstance, uint16_t aDelay)
{
Instance &instance = *static_cast(aInstance);
- return instance.GetChannelManager().SetDelay(aDelay);
+ return instance.Get().SetDelay(aDelay);
}
otError otChannelManagerRequestChannelSelect(otInstance *aInstance, bool aSkipQualityCheck)
{
Instance &instance = *static_cast(aInstance);
- return instance.GetChannelManager().RequestChannelSelect(aSkipQualityCheck);
+ return instance.Get().RequestChannelSelect(aSkipQualityCheck);
}
void otChannelManagerSetAutoChannelSelectionEnabled(otInstance *aInstance, bool aEnabled)
{
Instance &instance = *static_cast(aInstance);
- instance.GetChannelManager().SetAutoChannelSelectionEnabled(aEnabled);
+ instance.Get().SetAutoChannelSelectionEnabled(aEnabled);
}
bool otChannelManagerGetAutoChannelSelectionEnabled(otInstance *aInstance)
{
Instance &instance = *static_cast(aInstance);
- return instance.GetChannelManager().GetAutoChannelSelectionEnabled();
+ return instance.Get().GetAutoChannelSelectionEnabled();
}
otError otChannelManagerSetAutoChannelSelectionInterval(otInstance *aInstance, uint32_t aInterval)
{
Instance &instance = *static_cast(aInstance);
- return instance.GetChannelManager().SetAutoChannelSelectionInterval(aInterval);
+ return instance.Get().SetAutoChannelSelectionInterval(aInterval);
}
uint32_t otChannelManagerGetAutoChannelSelectionInterval(otInstance *aInstance)
{
Instance &instance = *static_cast(aInstance);
- return instance.GetChannelManager().GetAutoChannelSelectionInterval();
+ return instance.Get().GetAutoChannelSelectionInterval();
}
uint32_t otChannelManagerGetSupportedChannels(otInstance *aInstance)
{
Instance &instance = *static_cast(aInstance);
- return instance.GetChannelManager().GetSupportedChannels();
+ return instance.Get().GetSupportedChannels();
}
void otChannelManagerSetSupportedChannels(otInstance *aInstance, uint32_t aChannelMask)
{
Instance &instance = *static_cast(aInstance);
- return instance.GetChannelManager().SetSupportedChannels(aChannelMask);
+ return instance.Get().SetSupportedChannels(aChannelMask);
}
uint32_t otChannelManagerGetFavoredChannels(otInstance *aInstance)
{
Instance &instance = *static_cast(aInstance);
- return instance.GetChannelManager().GetFavoredChannels();
+ return instance.Get().GetFavoredChannels();
}
void otChannelManagerSetFavoredChannels(otInstance *aInstance, uint32_t aChannelMask)
{
Instance &instance = *static_cast(aInstance);
- return instance.GetChannelManager().SetFavoredChannels(aChannelMask);
+ return instance.Get().SetFavoredChannels(aChannelMask);
}
#endif // OPENTHREAD_ENABLE_CHANNEL_MANAGER && OPENTHREAD_FTD
diff --git a/src/core/api/channel_monitor_api.cpp b/src/core/api/channel_monitor_api.cpp
index 48b0b5ab7..7c43ed0d5 100644
--- a/src/core/api/channel_monitor_api.cpp
+++ b/src/core/api/channel_monitor_api.cpp
@@ -35,6 +35,7 @@
#include "openthread/channel_monitor.h"
#include "common/instance.hpp"
+#include "common/locator-getters.hpp"
using namespace ot;
@@ -42,7 +43,7 @@ using namespace ot;
otError otChannelMonitorSetEnabled(otInstance *aInstance, bool aEnabled)
{
- Utils::ChannelMonitor monitor = static_cast(aInstance)->GetChannelMonitor();
+ Utils::ChannelMonitor monitor = static_cast(aInstance)->Get();
return aEnabled ? monitor.Start() : monitor.Stop();
}
@@ -51,7 +52,7 @@ bool otChannelMonitorIsEnabled(otInstance *aInstance)
{
Instance &instance = *static_cast(aInstance);
- return instance.GetChannelMonitor().IsRunning();
+ return instance.Get().IsRunning();
}
uint32_t otChannelMonitorGetSampleInterval(otInstance *aInstance)
@@ -79,14 +80,14 @@ uint32_t otChannelMonitorGetSampleCount(otInstance *aInstance)
{
Instance &instance = *static_cast(aInstance);
- return instance.GetChannelMonitor().GetSampleCount();
+ return instance.Get().GetSampleCount();
}
uint16_t otChannelMonitorGetChannelOccupancy(otInstance *aInstance, uint8_t aChannel)
{
Instance &instance = *static_cast(aInstance);
- return instance.GetChannelMonitor().GetChannelOccupancy(aChannel);
+ return instance.Get().GetChannelOccupancy(aChannel);
}
#endif // OPENTHREAD_ENABLE_CHANNEL_MONITOR
diff --git a/src/core/api/child_supervision_api.cpp b/src/core/api/child_supervision_api.cpp
index e7f87af40..924f12a08 100644
--- a/src/core/api/child_supervision_api.cpp
+++ b/src/core/api/child_supervision_api.cpp
@@ -35,6 +35,7 @@
#include "openthread/child_supervision.h"
#include "common/instance.hpp"
+#include "common/locator-getters.hpp"
using namespace ot;
@@ -44,28 +45,28 @@ uint16_t otChildSupervisionGetInterval(otInstance *aInstance)
{
Instance &instance = *static_cast(aInstance);
- return instance.GetThreadNetif().GetChildSupervisor().GetSupervisionInterval();
+ return instance.Get().GetSupervisionInterval();
}
void otChildSupervisionSetInterval(otInstance *aInstance, uint16_t aInterval)
{
Instance &instance = *static_cast(aInstance);
- instance.GetThreadNetif().GetChildSupervisor().SetSupervisionInterval(aInterval);
+ instance.Get().SetSupervisionInterval(aInterval);
}
uint16_t otChildSupervisionGetCheckTimeout(otInstance *aInstance)
{
Instance &instance = *static_cast(aInstance);
- return instance.GetThreadNetif().GetSupervisionListener().GetTimeout();
+ return instance.Get().GetTimeout();
}
void otChildSupervisionSetCheckTimeout(otInstance *aInstance, uint16_t aTimeout)
{
Instance &instance = *static_cast(aInstance);
- instance.GetThreadNetif().GetSupervisionListener().SetTimeout(aTimeout);
+ instance.Get().SetTimeout(aTimeout);
}
#endif // OPENTHREAD_ENABLE_CHILD_SUPERVISION
diff --git a/src/core/api/coap_api.cpp b/src/core/api/coap_api.cpp
index 46b5bcc27..7b81fe977 100644
--- a/src/core/api/coap_api.cpp
+++ b/src/core/api/coap_api.cpp
@@ -37,6 +37,7 @@
#include "coap/coap_message.hpp"
#include "common/instance.hpp"
+#include "common/locator-getters.hpp"
#if OPENTHREAD_ENABLE_APPLICATION_COAP
diff --git a/src/core/api/coap_secure_api.cpp b/src/core/api/coap_secure_api.cpp
index 5f2c8acac..4027bb52e 100644
--- a/src/core/api/coap_secure_api.cpp
+++ b/src/core/api/coap_secure_api.cpp
@@ -39,6 +39,7 @@
#include "coap/coap_message.hpp"
#include "coap/coap_secure.hpp"
#include "common/instance.hpp"
+#include "common/locator-getters.hpp"
#if OPENTHREAD_ENABLE_APPLICATION_COAP_SECURE
diff --git a/src/core/api/commissioner_api.cpp b/src/core/api/commissioner_api.cpp
index 4463d4c19..92d61bf17 100644
--- a/src/core/api/commissioner_api.cpp
+++ b/src/core/api/commissioner_api.cpp
@@ -36,6 +36,7 @@
#include
#include "common/instance.hpp"
+#include "common/locator-getters.hpp"
using namespace ot;
@@ -49,7 +50,7 @@ otError otCommissionerStart(otInstance *aInstance)
#if OPENTHREAD_ENABLE_BORDER_AGENT
SuccessOrExit(error = instance.Get().Stop());
#endif
- SuccessOrExit(error = instance.GetThreadNetif().GetCommissioner().Start());
+ SuccessOrExit(error = instance.Get().Start());
exit:
#endif
OT_UNUSED_VARIABLE(aInstance);
@@ -65,7 +66,7 @@ otError otCommissionerStop(otInstance *aInstance)
#if OPENTHREAD_FTD && OPENTHREAD_ENABLE_COMMISSIONER
Instance &instance = *static_cast(aInstance);
- SuccessOrExit(error = instance.GetThreadNetif().GetCommissioner().Stop());
+ SuccessOrExit(error = instance.Get().Stop());
#if OPENTHREAD_ENABLE_BORDER_AGENT
SuccessOrExit(error = instance.Get().Start());
#endif
@@ -81,8 +82,8 @@ otError otCommissionerAddJoiner(otInstance *aInstance, const otExtAddress *aEui6
#if OPENTHREAD_FTD && OPENTHREAD_ENABLE_COMMISSIONER
Instance &instance = *static_cast(aInstance);
- error = instance.GetThreadNetif().GetCommissioner().AddJoiner(static_cast(aEui64), aPSKd,
- aTimeout);
+ error =
+ instance.Get().AddJoiner(static_cast(aEui64), aPSKd, aTimeout);
#else
OT_UNUSED_VARIABLE(aInstance);
OT_UNUSED_VARIABLE(aEui64);
@@ -100,7 +101,7 @@ otError otCommissionerRemoveJoiner(otInstance *aInstance, const otExtAddress *aE
#if OPENTHREAD_FTD && OPENTHREAD_ENABLE_COMMISSIONER
Instance &instance = *static_cast(aInstance);
- error = instance.GetThreadNetif().GetCommissioner().RemoveJoiner(static_cast(aEui64), 0);
+ error = instance.Get().RemoveJoiner(static_cast(aEui64), 0);
#else
OT_UNUSED_VARIABLE(aInstance);
OT_UNUSED_VARIABLE(aEui64);
@@ -116,7 +117,7 @@ otError otCommissionerSetProvisioningUrl(otInstance *aInstance, const char *aPro
#if OPENTHREAD_FTD && OPENTHREAD_ENABLE_COMMISSIONER
Instance &instance = *static_cast(aInstance);
- error = instance.GetThreadNetif().GetCommissioner().SetProvisioningUrl(aProvisioningUrl);
+ error = instance.Get().SetProvisioningUrl(aProvisioningUrl);
#else
OT_UNUSED_VARIABLE(aInstance);
OT_UNUSED_VARIABLE(aProvisioningUrl);
@@ -134,7 +135,7 @@ const char *otCommissionerGetProvisioningUrl(otInstance *aInstance, uint16_t *aL
if (aLength != NULL)
{
- url = instance.GetThreadNetif().GetCommissioner().GetProvisioningUrl(*aLength);
+ url = instance.Get().GetProvisioningUrl(*aLength);
}
#else
OT_UNUSED_VARIABLE(aInstance);
@@ -155,7 +156,7 @@ otError otCommissionerAnnounceBegin(otInstance * aInstance,
#if OPENTHREAD_FTD && OPENTHREAD_ENABLE_COMMISSIONER
Instance &instance = *static_cast(aInstance);
- error = instance.GetThreadNetif().GetCommissioner().GetAnnounceBeginClient().SendRequest(
+ error = instance.Get().GetAnnounceBeginClient().SendRequest(
aChannelMask, aCount, aPeriod, *static_cast(aAddress));
#else
OT_UNUSED_VARIABLE(aInstance);
@@ -182,7 +183,7 @@ otError otCommissionerEnergyScan(otInstance * aInstance,
#if OPENTHREAD_FTD && OPENTHREAD_ENABLE_COMMISSIONER
Instance &instance = *static_cast(aInstance);
- error = instance.GetThreadNetif().GetCommissioner().GetEnergyScanClient().SendQuery(
+ error = instance.Get().GetEnergyScanClient().SendQuery(
aChannelMask, aCount, aPeriod, aScanDuration, *static_cast(aAddress), aCallback,
aContext);
#else
@@ -211,7 +212,7 @@ otError otCommissionerPanIdQuery(otInstance * aInstance,
#if OPENTHREAD_FTD && OPENTHREAD_ENABLE_COMMISSIONER
Instance &instance = *static_cast(aInstance);
- error = instance.GetThreadNetif().GetCommissioner().GetPanIdQueryClient().SendQuery(
+ error = instance.Get().GetPanIdQueryClient().SendQuery(
aPanId, aChannelMask, *static_cast(aAddress), aCallback, aContext);
#else
OT_UNUSED_VARIABLE(aInstance);
@@ -232,7 +233,7 @@ otError otCommissionerSendMgmtGet(otInstance *aInstance, const uint8_t *aTlvs, u
#if OPENTHREAD_FTD && OPENTHREAD_ENABLE_COMMISSIONER
Instance &instance = *static_cast(aInstance);
- error = instance.GetThreadNetif().GetCommissioner().SendMgmtCommissionerGetRequest(aTlvs, aLength);
+ error = instance.Get().SendMgmtCommissionerGetRequest(aTlvs, aLength);
#else
OT_UNUSED_VARIABLE(aInstance);
OT_UNUSED_VARIABLE(aTlvs);
@@ -252,7 +253,7 @@ otError otCommissionerSendMgmtSet(otInstance * aInstance,
#if OPENTHREAD_FTD && OPENTHREAD_ENABLE_COMMISSIONER
Instance &instance = *static_cast(aInstance);
- error = instance.GetThreadNetif().GetCommissioner().SendMgmtCommissionerSetRequest(*aDataset, aTlvs, aLength);
+ error = instance.Get().SendMgmtCommissionerSetRequest(*aDataset, aTlvs, aLength);
#else
OT_UNUSED_VARIABLE(aInstance);
OT_UNUSED_VARIABLE(aDataset);
@@ -270,7 +271,7 @@ uint16_t otCommissionerGetSessionId(otInstance *aInstance)
#if OPENTHREAD_FTD && OPENTHREAD_ENABLE_COMMISSIONER
Instance &instance = *static_cast(aInstance);
- sessionId = instance.GetThreadNetif().GetCommissioner().GetSessionId();
+ sessionId = instance.Get().GetSessionId();
#else
OT_UNUSED_VARIABLE(aInstance);
#endif
@@ -285,7 +286,7 @@ otCommissionerState otCommissionerGetState(otInstance *aInstance)
#if OPENTHREAD_FTD && OPENTHREAD_ENABLE_COMMISSIONER
Instance &instance = *static_cast(aInstance);
- state = instance.GetThreadNetif().GetCommissioner().GetState();
+ state = instance.Get().GetState();
#else
OT_UNUSED_VARIABLE(aInstance);
#endif
diff --git a/src/core/api/crypto_api.cpp b/src/core/api/crypto_api.cpp
index 7a330487b..2c2c2776b 100644
--- a/src/core/api/crypto_api.cpp
+++ b/src/core/api/crypto_api.cpp
@@ -37,6 +37,7 @@
#include "common/code_utils.hpp"
#include "common/debug.hpp"
+#include "common/locator-getters.hpp"
#include "crypto/aes_ccm.hpp"
#include "crypto/ecdsa.hpp"
#include "crypto/hmac_sha256.hpp"
diff --git a/src/core/api/dataset_api.cpp b/src/core/api/dataset_api.cpp
index 0fe6f5767..09bb304d5 100644
--- a/src/core/api/dataset_api.cpp
+++ b/src/core/api/dataset_api.cpp
@@ -36,6 +36,7 @@
#include
#include "common/instance.hpp"
+#include "common/locator-getters.hpp"
using namespace ot;
@@ -57,7 +58,7 @@ otError otDatasetGetActive(otInstance *aInstance, otOperationalDataset *aDataset
VerifyOrExit(aDataset != NULL, error = OT_ERROR_INVALID_ARGS);
- error = instance.GetThreadNetif().GetActiveDataset().Read(*aDataset);
+ error = instance.Get().Read(*aDataset);
exit:
return error;
@@ -70,7 +71,7 @@ otError otDatasetSetActive(otInstance *aInstance, const otOperationalDataset *aD
VerifyOrExit(aDataset != NULL, error = OT_ERROR_INVALID_ARGS);
- error = instance.GetThreadNetif().GetActiveDataset().Save(*aDataset);
+ error = instance.Get().Save(*aDataset);
exit:
return error;
@@ -83,7 +84,7 @@ otError otDatasetGetPending(otInstance *aInstance, otOperationalDataset *aDatase
VerifyOrExit(aDataset != NULL, error = OT_ERROR_INVALID_ARGS);
- error = instance.GetThreadNetif().GetPendingDataset().Read(*aDataset);
+ error = instance.Get().Read(*aDataset);
exit:
return error;
@@ -96,7 +97,7 @@ otError otDatasetSetPending(otInstance *aInstance, const otOperationalDataset *a
VerifyOrExit(aDataset != NULL, error = OT_ERROR_INVALID_ARGS);
- error = instance.GetThreadNetif().GetPendingDataset().Save(*aDataset);
+ error = instance.Get().Save(*aDataset);
exit:
return error;
@@ -110,8 +111,7 @@ otError otDatasetSendMgmtActiveGet(otInstance * aInstan
{
Instance &instance = *static_cast(aInstance);
- return instance.GetThreadNetif().GetActiveDataset().SendGetRequest(*aDatasetComponents, aTlvTypes, aLength,
- aAddress);
+ return instance.Get().SendGetRequest(*aDatasetComponents, aTlvTypes, aLength, aAddress);
}
otError otDatasetSendMgmtActiveSet(otInstance * aInstance,
@@ -121,7 +121,7 @@ otError otDatasetSendMgmtActiveSet(otInstance * aInstance,
{
Instance &instance = *static_cast(aInstance);
- return instance.GetThreadNetif().GetActiveDataset().SendSetRequest(*aDataset, aTlvs, aLength);
+ return instance.Get().SendSetRequest(*aDataset, aTlvs, aLength);
}
otError otDatasetSendMgmtPendingGet(otInstance * aInstance,
@@ -132,8 +132,7 @@ otError otDatasetSendMgmtPendingGet(otInstance * aInsta
{
Instance &instance = *static_cast(aInstance);
- return instance.GetThreadNetif().GetPendingDataset().SendGetRequest(*aDatasetComponents, aTlvTypes, aLength,
- aAddress);
+ return instance.Get().SendGetRequest(*aDatasetComponents, aTlvTypes, aLength, aAddress);
}
otError otDatasetSendMgmtPendingSet(otInstance * aInstance,
@@ -143,5 +142,5 @@ otError otDatasetSendMgmtPendingSet(otInstance * aInstance,
{
Instance &instance = *static_cast(aInstance);
- return instance.GetThreadNetif().GetPendingDataset().SendSetRequest(*aDataset, aTlvs, aLength);
+ return instance.Get().SendSetRequest(*aDataset, aTlvs, aLength);
}
diff --git a/src/core/api/dataset_ftd_api.cpp b/src/core/api/dataset_ftd_api.cpp
index 7e73e14f2..929906193 100644
--- a/src/core/api/dataset_ftd_api.cpp
+++ b/src/core/api/dataset_ftd_api.cpp
@@ -38,6 +38,7 @@
#include
#include "common/instance.hpp"
+#include "common/locator-getters.hpp"
using namespace ot;
@@ -45,14 +46,14 @@ uint32_t otDatasetGetDelayTimerMinimal(otInstance *aInstance)
{
Instance &instance = *static_cast(aInstance);
- return instance.GetThreadNetif().GetLeader().GetDelayTimerMinimal();
+ return instance.Get().GetDelayTimerMinimal();
}
otError otDatasetSetDelayTimerMinimal(otInstance *aInstance, uint32_t aDelayTimerMinimal)
{
Instance &instance = *static_cast(aInstance);
- return instance.GetThreadNetif().GetLeader().SetDelayTimerMinimal(aDelayTimerMinimal);
+ return instance.Get().SetDelayTimerMinimal(aDelayTimerMinimal);
}
#endif // OPENTHREAD_FTD
diff --git a/src/core/api/dns_api.cpp b/src/core/api/dns_api.cpp
index 0482f4735..256f9db82 100644
--- a/src/core/api/dns_api.cpp
+++ b/src/core/api/dns_api.cpp
@@ -36,6 +36,7 @@
#include
#include "common/instance.hpp"
+#include "common/locator-getters.hpp"
using namespace ot;
@@ -44,6 +45,6 @@ otError otDnsClientQuery(otInstance *aInstance, const otDnsQuery *aQuery, otDnsR
{
Instance &instance = *static_cast(aInstance);
- return instance.GetThreadNetif().GetDnsClient().Query(aQuery, aHandler, aContext);
+ return instance.Get().Query(aQuery, aHandler, aContext);
}
#endif
diff --git a/src/core/api/icmp6_api.cpp b/src/core/api/icmp6_api.cpp
index 78ed9ce2d..f23f18fda 100644
--- a/src/core/api/icmp6_api.cpp
+++ b/src/core/api/icmp6_api.cpp
@@ -36,6 +36,7 @@
#include
#include "common/instance.hpp"
+#include "common/locator-getters.hpp"
using namespace ot;
@@ -43,21 +44,21 @@ otIcmp6EchoMode otIcmp6GetEchoMode(otInstance *aInstance)
{
Instance &instance = *static_cast(aInstance);
- return instance.GetIp6().GetIcmp().GetEchoMode();
+ return instance.Get().GetEchoMode();
}
void otIcmp6SetEchoMode(otInstance *aInstance, otIcmp6EchoMode aMode)
{
Instance &instance = *static_cast(aInstance);
- instance.GetIp6().GetIcmp().SetEchoMode(aMode);
+ instance.Get().SetEchoMode(aMode);
}
otError otIcmp6RegisterHandler(otInstance *aInstance, otIcmp6Handler *aHandler)
{
Instance &instance = *static_cast(aInstance);
- return instance.GetIp6().GetIcmp().RegisterHandler(*static_cast(aHandler));
+ return instance.Get().RegisterHandler(*static_cast(aHandler));
}
otError otIcmp6SendEchoRequest(otInstance * aInstance,
@@ -67,6 +68,6 @@ otError otIcmp6SendEchoRequest(otInstance * aInstance,
{
Instance &instance = *static_cast(aInstance);
- return instance.GetIp6().GetIcmp().SendEchoRequest(
- *static_cast(aMessage), *static_cast(aMessageInfo), aIdentifier);
+ return instance.Get().SendEchoRequest(*static_cast(aMessage),
+ *static_cast(aMessageInfo), aIdentifier);
}
diff --git a/src/core/api/instance_api.cpp b/src/core/api/instance_api.cpp
index 52883caeb..3ad18bae1 100644
--- a/src/core/api/instance_api.cpp
+++ b/src/core/api/instance_api.cpp
@@ -40,6 +40,7 @@
#include
#include "common/instance.hpp"
+#include "common/locator-getters.hpp"
#include "common/logging.hpp"
#include "common/new.hpp"
@@ -92,14 +93,14 @@ otError otSetStateChangedCallback(otInstance *aInstance, otStateChangedCallback
{
Instance &instance = *static_cast(aInstance);
- return instance.GetNotifier().RegisterCallback(aCallback, aContext);
+ return instance.Get().RegisterCallback(aCallback, aContext);
}
void otRemoveStateChangeCallback(otInstance *aInstance, otStateChangedCallback aCallback, void *aContext)
{
Instance &instance = *static_cast(aInstance);
- instance.GetNotifier().RemoveCallback(aCallback, aContext);
+ instance.Get().RemoveCallback(aCallback, aContext);
}
void otInstanceFactoryReset(otInstance *aInstance)
diff --git a/src/core/api/ip6_api.cpp b/src/core/api/ip6_api.cpp
index f7e789229..eca35bd1a 100644
--- a/src/core/api/ip6_api.cpp
+++ b/src/core/api/ip6_api.cpp
@@ -38,6 +38,7 @@
#include
#include "common/instance.hpp"
+#include "common/locator-getters.hpp"
#include "common/logging.hpp"
#if OPENTHREAD_CONFIG_ENABLE_SLAAC
#include "utils/slaac_address.hpp"
@@ -51,16 +52,16 @@ otError otIp6SetEnabled(otInstance *aInstance, bool aEnabled)
Instance &instance = *static_cast(aInstance);
#if OPENTHREAD_ENABLE_RAW_LINK_API
- VerifyOrExit(!instance.GetLinkRaw().IsEnabled(), error = OT_ERROR_INVALID_STATE);
+ VerifyOrExit(!instance.Get().IsEnabled(), error = OT_ERROR_INVALID_STATE);
#endif
if (aEnabled)
{
- instance.GetThreadNetif().Up();
+ instance.Get().Up();
}
else
{
- instance.GetThreadNetif().Down();
+ instance.Get().Down();
}
#if OPENTHREAD_ENABLE_RAW_LINK_API
@@ -73,21 +74,21 @@ bool otIp6IsEnabled(otInstance *aInstance)
{
Instance &instance = *static_cast(aInstance);
- return instance.GetThreadNetif().IsUp();
+ return instance.Get().IsUp();
}
const otNetifAddress *otIp6GetUnicastAddresses(otInstance *aInstance)
{
Instance &instance = *static_cast(aInstance);
- return instance.GetThreadNetif().GetUnicastAddresses();
+ return instance.Get().GetUnicastAddresses();
}
otError otIp6AddUnicastAddress(otInstance *aInstance, const otNetifAddress *aAddress)
{
Instance &instance = *static_cast(aInstance);
- return instance.GetThreadNetif().AddExternalUnicastAddress(
+ return instance.Get().AddExternalUnicastAddress(
*static_cast(aAddress));
}
@@ -95,70 +96,70 @@ otError otIp6RemoveUnicastAddress(otInstance *aInstance, const otIp6Address *aAd
{
Instance &instance = *static_cast(aInstance);
- return instance.GetThreadNetif().RemoveExternalUnicastAddress(*static_cast(aAddress));
+ return instance.Get().RemoveExternalUnicastAddress(*static_cast(aAddress));
}
const otNetifMulticastAddress *otIp6GetMulticastAddresses(otInstance *aInstance)
{
Instance &instance = *static_cast(aInstance);
- return instance.GetThreadNetif().GetMulticastAddresses();
+ return instance.Get().GetMulticastAddresses();
}
otError otIp6SubscribeMulticastAddress(otInstance *aInstance, const otIp6Address *aAddress)
{
Instance &instance = *static_cast(aInstance);
- return instance.GetThreadNetif().SubscribeExternalMulticast(*static_cast(aAddress));
+ return instance.Get().SubscribeExternalMulticast(*static_cast(aAddress));
}
otError otIp6UnsubscribeMulticastAddress(otInstance *aInstance, const otIp6Address *aAddress)
{
Instance &instance = *static_cast(aInstance);
- return instance.GetThreadNetif().UnsubscribeExternalMulticast(*static_cast(aAddress));
+ return instance.Get().UnsubscribeExternalMulticast(*static_cast(aAddress));
}
bool otIp6IsMulticastPromiscuousEnabled(otInstance *aInstance)
{
Instance &instance = *static_cast(aInstance);
- return instance.GetThreadNetif().IsMulticastPromiscuousEnabled();
+ return instance.Get().IsMulticastPromiscuousEnabled();
}
void otIp6SetMulticastPromiscuousEnabled(otInstance *aInstance, bool aEnabled)
{
Instance &instance = *static_cast(aInstance);
- instance.GetThreadNetif().SetMulticastPromiscuous(aEnabled);
+ instance.Get().SetMulticastPromiscuous(aEnabled);
}
void otIp6SetReceiveCallback(otInstance *aInstance, otIp6ReceiveCallback aCallback, void *aCallbackContext)
{
Instance &instance = *static_cast(aInstance);
- instance.GetIp6().SetReceiveDatagramCallback(aCallback, aCallbackContext);
+ instance.Get().SetReceiveDatagramCallback(aCallback, aCallbackContext);
}
void otIp6SetAddressCallback(otInstance *aInstance, otIp6AddressCallback aCallback, void *aCallbackContext)
{
Instance &instance = *static_cast(aInstance);
- instance.GetThreadNetif().SetAddressCallback(aCallback, aCallbackContext);
+ instance.Get().SetAddressCallback(aCallback, aCallbackContext);
}
bool otIp6IsReceiveFilterEnabled(otInstance *aInstance)
{
Instance &instance = *static_cast(aInstance);
- return instance.GetIp6().IsReceiveIp6FilterEnabled();
+ return instance.Get().IsReceiveIp6FilterEnabled();
}
void otIp6SetReceiveFilterEnabled(otInstance *aInstance, bool aEnabled)
{
Instance &instance = *static_cast(aInstance);
- instance.GetIp6().SetReceiveIp6FilterEnabled(aEnabled);
+ instance.Get().SetReceiveIp6FilterEnabled(aEnabled);
}
otError otIp6Send(otInstance *aInstance, otMessage *aMessage)
@@ -166,7 +167,8 @@ otError otIp6Send(otInstance *aInstance, otMessage *aMessage)
otError error;
Instance &instance = *static_cast(aInstance);
- error = instance.GetIp6().SendRaw(*static_cast(aMessage), instance.GetThreadNetif().GetInterfaceId());
+ error = instance.Get().SendRaw(*static_cast(aMessage),
+ instance.Get().GetInterfaceId());
return error;
}
@@ -181,7 +183,7 @@ otMessage *otIp6NewMessage(otInstance *aInstance, const otMessageSettings *aSett
VerifyOrExit(aSettings->mPriority <= OT_MESSAGE_PRIORITY_HIGH, message = NULL);
}
- message = instance.GetIp6().NewMessage(0, aSettings);
+ message = instance.Get().NewMessage(0, aSettings);
exit:
return message;
@@ -195,7 +197,7 @@ otMessage *otIp6NewMessageFromBuffer(otInstance * aInstance,
Instance &instance = *static_cast(aInstance);
Message * message;
- VerifyOrExit((message = instance.GetIp6().NewMessage(aData, aDataLength, aSettings)) != NULL);
+ VerifyOrExit((message = instance.Get().NewMessage(aData, aDataLength, aSettings)) != NULL);
exit:
return message;
@@ -205,28 +207,28 @@ otError otIp6AddUnsecurePort(otInstance *aInstance, uint16_t aPort)
{
Instance &instance = *static_cast(aInstance);
- return instance.GetThreadNetif().GetIp6Filter().AddUnsecurePort(aPort);
+ return instance.Get().AddUnsecurePort(aPort);
}
otError otIp6RemoveUnsecurePort(otInstance *aInstance, uint16_t aPort)
{
Instance &instance = *static_cast(aInstance);
- return instance.GetThreadNetif().GetIp6Filter().RemoveUnsecurePort(aPort);
+ return instance.Get().RemoveUnsecurePort(aPort);
}
void otIp6RemoveAllUnsecurePorts(otInstance *aInstance)
{
Instance &instance = *static_cast(aInstance);
- instance.GetThreadNetif().GetIp6Filter().RemoveAllUnsecurePorts();
+ instance.Get().RemoveAllUnsecurePorts();
}
const uint16_t *otIp6GetUnsecurePorts(otInstance *aInstance, uint8_t *aNumEntries)
{
Instance &instance = *static_cast(aInstance);
- return instance.GetThreadNetif().GetIp6Filter().GetUnsecurePorts(*aNumEntries);
+ return instance.Get().GetUnsecurePorts(*aNumEntries);
}
bool otIp6IsAddressEqual(const otIp6Address *aFirst, const otIp6Address *aSecond)
@@ -262,7 +264,7 @@ otError otIp6SelectSourceAddress(otInstance *aInstance, otMessageInfo *aMessageI
Instance & instance = *static_cast(aInstance);
const Ip6::NetifUnicastAddress *netifAddr;
- netifAddr = instance.GetIp6().SelectSourceAddress(*static_cast(aMessageInfo));
+ netifAddr = instance.Get().SelectSourceAddress(*static_cast(aMessageInfo));
VerifyOrExit(netifAddr != NULL, error = OT_ERROR_NOT_FOUND);
memcpy(&aMessageInfo->mSockAddr, &netifAddr->mAddress, sizeof(aMessageInfo->mSockAddr));
@@ -279,16 +281,15 @@ bool otIp6IsSlaacEnabled(otInstance *aInstance)
void otIp6SetSlaacEnabled(otInstance *aInstance, bool aEnabled)
{
- Instance & instance = *static_cast(aInstance);
- Utils::Slaac &slaac = instance.Get();
+ Instance &instance = *static_cast(aInstance);
if (aEnabled)
{
- slaac.Enable();
+ instance.Get().Enable();
}
else
{
- slaac.Disable();
+ instance.Get().Disable();
}
}
diff --git a/src/core/api/jam_detection_api.cpp b/src/core/api/jam_detection_api.cpp
index a17e22a85..738dccc2c 100644
--- a/src/core/api/jam_detection_api.cpp
+++ b/src/core/api/jam_detection_api.cpp
@@ -36,6 +36,7 @@
#include
#include "common/instance.hpp"
+#include "common/locator-getters.hpp"
using namespace ot;
@@ -45,7 +46,7 @@ otError otJamDetectionSetRssiThreshold(otInstance *aInstance, int8_t aRssiThresh
{
Instance &instance = *static_cast(aInstance);
- instance.GetThreadNetif().GetJamDetector().SetRssiThreshold(aRssiThreshold);
+ instance.Get().SetRssiThreshold(aRssiThreshold);
return OT_ERROR_NONE;
}
@@ -54,70 +55,70 @@ int8_t otJamDetectionGetRssiThreshold(otInstance *aInstance)
{
Instance &instance = *static_cast(aInstance);
- return instance.GetThreadNetif().GetJamDetector().GetRssiThreshold();
+ return instance.Get().GetRssiThreshold();
}
otError otJamDetectionSetWindow(otInstance *aInstance, uint8_t aWindow)
{
Instance &instance = *static_cast(aInstance);
- return instance.GetThreadNetif().GetJamDetector().SetWindow(aWindow);
+ return instance.Get().SetWindow(aWindow);
}
uint8_t otJamDetectionGetWindow(otInstance *aInstance)
{
Instance &instance = *static_cast(aInstance);
- return instance.GetThreadNetif().GetJamDetector().GetWindow();
+ return instance.Get().GetWindow();
}
otError otJamDetectionSetBusyPeriod(otInstance *aInstance, uint8_t aBusyPeriod)
{
Instance &instance = *static_cast(aInstance);
- return instance.GetThreadNetif().GetJamDetector().SetBusyPeriod(aBusyPeriod);
+ return instance.Get().SetBusyPeriod(aBusyPeriod);
}
uint8_t otJamDetectionGetBusyPeriod(otInstance *aInstance)
{
Instance &instance = *static_cast(aInstance);
- return instance.GetThreadNetif().GetJamDetector().GetBusyPeriod();
+ return instance.Get().GetBusyPeriod();
}
otError otJamDetectionStart(otInstance *aInstance, otJamDetectionCallback aCallback, void *aContext)
{
Instance &instance = *static_cast(aInstance);
- return instance.GetThreadNetif().GetJamDetector().Start(aCallback, aContext);
+ return instance.Get().Start(aCallback, aContext);
}
otError otJamDetectionStop(otInstance *aInstance)
{
Instance &instance = *static_cast(aInstance);
- return instance.GetThreadNetif().GetJamDetector().Stop();
+ return instance.Get().Stop();
}
bool otJamDetectionIsEnabled(otInstance *aInstance)
{
Instance &instance = *static_cast(aInstance);
- return instance.GetThreadNetif().GetJamDetector().IsEnabled();
+ return instance.Get().IsEnabled();
}
bool otJamDetectionGetState(otInstance *aInstance)
{
Instance &instance = *static_cast(aInstance);
- return instance.GetThreadNetif().GetJamDetector().GetState();
+ return instance.Get().GetState();
}
uint64_t otJamDetectionGetHistoryBitmap(otInstance *aInstance)
{
Instance &instance = *static_cast(aInstance);
- return instance.GetThreadNetif().GetJamDetector().GetHistoryBitmap();
+ return instance.Get().GetHistoryBitmap();
}
#endif // OPENTHREAD_ENABLE_JAM_DETECTION
diff --git a/src/core/api/joiner_api.cpp b/src/core/api/joiner_api.cpp
index 620bfff02..be1964289 100644
--- a/src/core/api/joiner_api.cpp
+++ b/src/core/api/joiner_api.cpp
@@ -36,6 +36,7 @@
#include
#include "common/instance.hpp"
+#include "common/locator-getters.hpp"
using namespace ot;
@@ -53,8 +54,8 @@ otError otJoinerStart(otInstance * aInstance,
#if OPENTHREAD_ENABLE_JOINER
Instance &instance = *static_cast(aInstance);
- error = instance.GetThreadNetif().GetJoiner().Start(aPSKd, aProvisioningUrl, aVendorName, aVendorModel,
- aVendorSwVersion, aVendorData, aCallback, aContext);
+ error = instance.Get().Start(aPSKd, aProvisioningUrl, aVendorName, aVendorModel, aVendorSwVersion,
+ aVendorData, aCallback, aContext);
#else
OT_UNUSED_VARIABLE(aInstance);
OT_UNUSED_VARIABLE(aPSKd);
@@ -77,7 +78,7 @@ otError otJoinerStop(otInstance *aInstance)
#if OPENTHREAD_ENABLE_JOINER
Instance &instance = *static_cast(aInstance);
- instance.GetThreadNetif().GetJoiner().Stop();
+ instance.Get().Stop();
error = OT_ERROR_NONE;
#else
OT_UNUSED_VARIABLE(aInstance);
@@ -94,7 +95,7 @@ otJoinerState otJoinerGetState(otInstance *aInstance)
#if OPENTHREAD_ENABLE_JOINER
Instance &instance = *static_cast(aInstance);
- state = instance.GetThreadNetif().GetJoiner().GetState();
+ state = instance.Get().GetState();
#else
OT_UNUSED_VARIABLE(aInstance);
#endif
@@ -109,7 +110,7 @@ otError otJoinerGetId(otInstance *aInstance, otExtAddress *aJoinerId)
#if OPENTHREAD_ENABLE_JOINER
Instance &instance = *static_cast(aInstance);
- instance.GetThreadNetif().GetJoiner().GetJoinerId(*static_cast(aJoinerId));
+ instance.Get().GetJoinerId(*static_cast(aJoinerId));
error = OT_ERROR_NONE;
#else
OT_UNUSED_VARIABLE(aInstance);
diff --git a/src/core/api/link_api.cpp b/src/core/api/link_api.cpp
index ae02f99f8..bdea5c70a 100644
--- a/src/core/api/link_api.cpp
+++ b/src/core/api/link_api.cpp
@@ -36,6 +36,7 @@
#include
#include "common/instance.hpp"
+#include "common/locator-getters.hpp"
#include "mac/mac.hpp"
#include "phy/phy.hpp"
@@ -50,14 +51,14 @@ uint8_t otLinkGetChannel(otInstance *aInstance)
uint8_t channel;
#if OPENTHREAD_ENABLE_RAW_LINK_API
- if (instance.GetLinkRaw().IsEnabled())
+ if (instance.Get().IsEnabled())
{
- channel = instance.GetLinkRaw().GetChannel();
+ channel = instance.Get().GetChannel();
}
else
#endif
{
- channel = instance.GetThreadNetif().GetMac().GetPanChannel();
+ channel = instance.Get().GetPanChannel();
}
return channel;
@@ -69,19 +70,18 @@ otError otLinkSetChannel(otInstance *aInstance, uint8_t aChannel)
Instance &instance = *static_cast(aInstance);
#if OPENTHREAD_ENABLE_RAW_LINK_API
- if (instance.GetLinkRaw().IsEnabled())
+ if (instance.Get().IsEnabled())
{
- error = instance.GetLinkRaw().SetChannel(aChannel);
+ error = instance.Get().SetChannel(aChannel);
ExitNow();
}
#endif
- VerifyOrExit(instance.GetThreadNetif().GetMle().GetRole() == OT_DEVICE_ROLE_DISABLED,
- error = OT_ERROR_INVALID_STATE);
+ VerifyOrExit(instance.Get().GetRole() == OT_DEVICE_ROLE_DISABLED, error = OT_ERROR_INVALID_STATE);
- SuccessOrExit(error = instance.GetThreadNetif().GetMac().SetPanChannel(aChannel));
- instance.GetThreadNetif().GetActiveDataset().Clear();
- instance.GetThreadNetif().GetPendingDataset().Clear();
+ SuccessOrExit(error = instance.Get().SetPanChannel(aChannel));
+ instance.Get().Clear();
+ instance.Get().Clear();
exit:
return error;
@@ -91,7 +91,7 @@ uint32_t otLinkGetSupportedChannelMask(otInstance *aInstance)
{
Instance &instance = *static_cast(aInstance);
- return instance.GetThreadNetif().GetMac().GetSupportedChannelMask().GetMask();
+ return instance.Get().GetSupportedChannelMask().GetMask();
}
otError otLinkSetSupportedChannelMask(otInstance *aInstance, uint32_t aChannelMask)
@@ -99,10 +99,9 @@ otError otLinkSetSupportedChannelMask(otInstance *aInstance, uint32_t aChannelMa
otError error = OT_ERROR_NONE;
Instance &instance = *static_cast(aInstance);
- VerifyOrExit(instance.GetThreadNetif().GetMle().GetRole() == OT_DEVICE_ROLE_DISABLED,
- error = OT_ERROR_INVALID_STATE);
+ VerifyOrExit(instance.Get().GetRole() == OT_DEVICE_ROLE_DISABLED, error = OT_ERROR_INVALID_STATE);
- instance.GetThreadNetif().GetMac().SetSupportedChannelMask(static_cast(aChannelMask));
+ instance.Get().SetSupportedChannelMask(static_cast(aChannelMask));
exit:
return error;
@@ -112,7 +111,7 @@ const otExtAddress *otLinkGetExtendedAddress(otInstance *aInstance)
{
Instance &instance = *static_cast(aInstance);
- return &instance.GetThreadNetif().GetMac().GetExtAddress();
+ return &instance.Get().GetExtAddress();
}
otError otLinkSetExtendedAddress(otInstance *aInstance, const otExtAddress *aExtAddress)
@@ -121,12 +120,11 @@ otError otLinkSetExtendedAddress(otInstance *aInstance, const otExtAddress *aExt
Instance &instance = *static_cast(aInstance);
VerifyOrExit(aExtAddress != NULL, error = OT_ERROR_INVALID_ARGS);
- VerifyOrExit(instance.GetThreadNetif().GetMle().GetRole() == OT_DEVICE_ROLE_DISABLED,
- error = OT_ERROR_INVALID_STATE);
+ VerifyOrExit(instance.Get().GetRole() == OT_DEVICE_ROLE_DISABLED, error = OT_ERROR_INVALID_STATE);
- instance.GetThreadNetif().GetMac().SetExtAddress(*static_cast(aExtAddress));
+ instance.Get