nl::Weave::DeviceLayer::Internal::GenericThreadStackManagerImpl_OpenThread

#include <src/adaptations/device-layer/include/Weave/DeviceLayer/OpenThread/GenericThreadStackManagerImpl_OpenThread.h>

Provides a generic implementation of ThreadStackManager features that works in conjunction with OpenThread.

Summary

This class contains implementations of select features from the ThreadStackManager abstract interface that are suitable for use on devices that employ OpenThread. It is intended to be inherited, directly or indirectly, by the ThreadStackManagerImpl class, which also appears as the template's ImplClass parameter.

The class is designed to be independent of the choice of host OS (e.g. RTOS or posix) and network stack (e.g. LwIP or other IP stack).

Inheritance

Direct Known Subclasses:
  nl::Weave::DeviceLayer::Internal::GenericThreadStackManagerImpl_OpenThread_LwIP< ThreadStackManagerImpl >
  nl::Weave::DeviceLayer::Internal::GenericThreadStackManagerImpl_OpenThread_LwIP< ImplClass >

Public functions

OTInstance() const
otInstance *
Returns the underlying OpenThread instance object.

Public static functions

OnOpenThreadStateChange(uint32_t flags, void *context)
void

Protected functions

AdjustPollingInterval(void)
DoInit(otInstance *otInst)
IsThreadAttachedNoLock(void)
bool
_ClearThreadProvision(void)
void
_GetAndLogThreadStatsCounters(void)
_GetAndLogThreadTopologyFull(void)
_GetAndLogThreadTopologyMinimal(void)
_GetPrimary802154MACAddress(uint8_t *buf)
_GetThreadDeviceType(void)
ConnectivityManager::ThreadDeviceType
_GetThreadPollingConfig(ConnectivityManager::ThreadPollingConfig & pollingConfig)
void
_GetThreadProvision(DeviceNetworkInfo & netInfo, bool includeCredentials)
_HaveMeshConnectivity(void)
bool
_HaveRouteToAddress(const IPAddress & destAddr)
bool
_IsThreadAttached(void)
bool
_IsThreadEnabled(void)
bool
_IsThreadProvisioned(void)
bool
_OnMessageLayerActivityChanged(bool messageLayerIsActive)
void
_OnPlatformEvent(const WeaveDeviceEvent *event)
void
_OnWoBLEAdvertisingStart(void)
void
_OnWoBLEAdvertisingStop(void)
void
_ProcessThreadActivity(void)
void
_SetThreadDeviceType(ConnectivityManager::ThreadDeviceType deviceType)
_SetThreadEnabled(bool val)
_SetThreadPollingConfig(const ConnectivityManager::ThreadPollingConfig & pollingConfig)
_SetThreadProvision(const DeviceNetworkInfo & netInfo)

Public functions

OTInstance

otInstance * OTInstance() const 

Returns the underlying OpenThread instance object.

Public static functions

OnOpenThreadStateChange

void OnOpenThreadStateChange(
  uint32_t flags,
  void *context
)

Protected functions

AdjustPollingInterval

WEAVE_ERROR AdjustPollingInterval(
  void
)

DoInit

WEAVE_ERROR DoInit(
  otInstance *otInst
)

IsThreadAttachedNoLock

bool IsThreadAttachedNoLock(
  void
)

_ClearThreadProvision

void _ClearThreadProvision(
  void
)

_GetAndLogThreadStatsCounters

WEAVE_ERROR _GetAndLogThreadStatsCounters(
  void
)

_GetAndLogThreadTopologyFull

WEAVE_ERROR _GetAndLogThreadTopologyFull(
  void
)

_GetAndLogThreadTopologyMinimal

WEAVE_ERROR _GetAndLogThreadTopologyMinimal(
  void
)

_GetPrimary802154MACAddress

WEAVE_ERROR _GetPrimary802154MACAddress(
  uint8_t *buf
)

_GetThreadDeviceType

ConnectivityManager::ThreadDeviceType _GetThreadDeviceType(
  void
)

_GetThreadPollingConfig

void _GetThreadPollingConfig(
  ConnectivityManager::ThreadPollingConfig & pollingConfig
)

_GetThreadProvision

WEAVE_ERROR _GetThreadProvision(
  DeviceNetworkInfo & netInfo,
  bool includeCredentials
)

_HaveMeshConnectivity

bool _HaveMeshConnectivity(
  void
)

_HaveRouteToAddress

bool _HaveRouteToAddress(
  const IPAddress & destAddr
)

_IsThreadAttached

bool _IsThreadAttached(
  void
)

_IsThreadEnabled

bool _IsThreadEnabled(
  void
)

_IsThreadProvisioned

bool _IsThreadProvisioned(
  void
)

_OnMessageLayerActivityChanged

void _OnMessageLayerActivityChanged(
  bool messageLayerIsActive
)

_OnPlatformEvent

void _OnPlatformEvent(
  const WeaveDeviceEvent *event
)

_OnWoBLEAdvertisingStart

void _OnWoBLEAdvertisingStart(
  void
)

_OnWoBLEAdvertisingStop

void _OnWoBLEAdvertisingStop(
  void
)

_ProcessThreadActivity

void _ProcessThreadActivity(
  void
)

_SetThreadDeviceType

WEAVE_ERROR _SetThreadDeviceType(
  ConnectivityManager::ThreadDeviceType deviceType
)

_SetThreadEnabled

WEAVE_ERROR _SetThreadEnabled(
  bool val
)

_SetThreadPollingConfig

WEAVE_ERROR _SetThreadPollingConfig(
  const ConnectivityManager::ThreadPollingConfig & pollingConfig
)

_SetThreadProvision

WEAVE_ERROR _SetThreadProvision(
  const DeviceNetworkInfo & netInfo
)