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

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

提供與 OpenThread 搭配使用的一般 ThreadStackManager 功能。

摘要

此類別包含實作 ThreadStackManager 抽象介面的特定功能,適用於採用 OpenThread 的裝置。它打算由 ThreadStackManagerImpl 類別直接或間接繼承,此類別也會做為範本的 ImplClass 參數。

這個類別的設計與選擇主機作業系統 (例如 RTOS 或 posix) 和網路堆疊 (例如 LwIP 或其他 IP 堆疊) 無關。

繼承

直接已知子類別:
  nl::Weave::DeviceLayer::Internal::GenericThreadManagerImpl_OpenThread_LwIP< ThreadStackManagerImpl >
  nl::Weave::DeviceLayer::Internal::Generic IThread<Thread >

公用函式

OTInstance() const
otInstance *
傳回基礎 OpenThread 執行個體物件。

公開的靜態函式

OnOpenThreadStateChange(uint32_t flags, void *context)
void

受保護的函式

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)

公用函式

OTInstance

otInstance * OTInstance() const 

傳回基礎 OpenThread 執行個體物件。

公開的靜態函式

OnOpenThreadStateChange

void OnOpenThreadStateChange(
  uint32_t flags,
  void *context
)

受保護的函式

AdjustPollingInterval

WEAVE_ERROR AdjustPollingInterval(
  void
)

DoInit

WEAVE_ERROR DoInit(
  otInstance *otInst
)

IsThreadAttachedNoLock

bool IsThreadAttachedNoLock(
  void
)

_ClearThread 佈建

void _ClearThreadProvision(
  void
)

_GetAndLogThreadStatsCounters

WEAVE_ERROR _GetAndLogThreadStatsCounters(
  void
)

_GetAndLogThreadTopology

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
)

_GetThread 佈建

WEAVE_ERROR _GetThreadProvision(
  DeviceNetworkInfo & netInfo,
  bool includeCredentials
)

擁有網絡連線能力

bool _HaveMeshConnectivity(
  void
)

_ haveRouteToAddress

bool _HaveRouteToAddress(
  const IPAddress & destAddr
)

_IsThread 已附加

bool _IsThreadAttached(
  void
)

_IsThreadEnabled

bool _IsThreadEnabled(
  void
)

_IsThread 已佈建

bool _IsThreadProvisioned(
  void
)

_OnMessageLayerActivityChanged

void _OnMessageLayerActivityChanged(
  bool messageLayerIsActive
)

_OnPlatformEvent

void _OnPlatformEvent(
  const WeaveDeviceEvent *event
)

_OnWoBLE 廣告開始

void _OnWoBLEAdvertisingStart(
  void
)

_OnWoBLE 廣告停靠站

void _OnWoBLEAdvertisingStop(
  void
)

_ProcessThreadActivity

void _ProcessThreadActivity(
  void
)

_SetThreadDeviceType

WEAVE_ERROR _SetThreadDeviceType(
  ConnectivityManager::ThreadDeviceType deviceType
)

_已啟用執行緒

WEAVE_ERROR _SetThreadEnabled(
  bool val
)

_SetThreadPollingConfig

WEAVE_ERROR _SetThreadPollingConfig(
  const ConnectivityManager::ThreadPollingConfig & pollingConfig
)

_SetThread 佈建

WEAVE_ERROR _SetThreadProvision(
  const DeviceNetworkInfo & netInfo
)