จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ

nl:: Weave::Warm

เนมสเปซนี้ประกอบด้วยอินเทอร์เฟซสําหรับที่อยู่ Weave และ Routing Module ซึ่งเป็นโมดูลแบบพกพาสําหรับการกําหนดค่าที่อยู่ IP และเส้นทางของ Weave

สรุป

การแจกแจง

ActionType{
  kActionTypeWiFiHostAddress = (1 << 0),
  kActionTypeThreadHostAddress = (1 << 1),
  kActionTypeThreadThreadAddress = (1 << 2),
  kActionTypeLegacy6LoWPANHostAddress = (1 << 3),
  kActionTypeLegacy6LoWPANThreadAddress = (1 << 4),
  kActionTypeHostRouteThread = (1 << 5),
  kActionTypeThreadAdvertisement = (1 << 6),
  kActionTypeThreadRoute = (1 << 7),
  kActionTypeTunnelHostAddress = (1 << 8),
  kActionTypeTunnelHostRoute = (1 << 9),
  kActionTypeThreadRoutePriority = (1 << 10),
  kActionTypeTunnelServiceRoute = (1 << 11),
  kActionTypeMax = (1 << 16)
}
enum
InitState{
  kInitStateNotInitialized = 0
}
enum
InterfaceState enum
Enum ของค่าสถานะอินเทอร์เฟซที่เป็นไปได้
InterfaceType{
  kInterfaceTypeLegacy6LoWPAN = 0,
  kInterfaceTypeThread,
  kInterfaceTypeWiFi,
  kInterfaceTypeTunnel,
  kInterfaceTypeCellular
}
enum
Enum ของประเภทอินเทอร์เฟซที่เป็นไปได้
PlatformActionExecution{
  kPlatformActionExecutionContinue = false,
  kPlatformActionExecutionSuspendForAsynchOpCompletion = true
}
enum
PlatformResult{
  kPlatformResultSuccess = 0,
  kPlatformResultFailure,
  kPlatformResultInProgress
}
enum
การแจกแจงค่าที่เป็นไปได้ของ API แพลตฟอร์ม
RoutePriority enum
ระบุลําดับความสําคัญของเส้นทางที่เป็นไปได้ เพื่อที่จะได้มีลําดับความสําคัญของเส้นทางหนึ่งมากกว่าเส้นทางอื่น
SystemFeatureType{
  kSystemFeatureTypeIsFabricMember = (1 << 0),
  kSystemFeatureTypeWiFiConnected = (1 << 1),
  kSystemFeatureTypeThreadConnected = (1 << 2),
  kSystemFeatureTypeThreadRoutingEnabled = (1 << 3),
  kSystemFeatureTypeBorderRoutingEnabled = (1 << 4),
  kSystemFeatureTypeTunnelInterfaceEnabled = (1 << 5),
  kSystemFeatureTypeTunnelState = (1 << 6),
  kSystemFeatureTypeCellularConnected = (1 << 7),
  kSystemFeatureTypeMax = (1 << 16)
}
enum

ประเภทคําจํากัดความ

ActionFunction)(ActionType inAction, bool inActivate, const uint64_t &inGlobalId, const uint64_t &inInterfaceId) Typedef
FlagsType Typedef
uint16_t

ตัวแปร

kGlobalULAPrefixLength = 48
const uint8_t
kLegacy6LoWPANULAAddressPrefixLength = 64
const uint8_t
kThreadULAAddressPrefixLength = 64
const uint8_t
kTunnelAddressPrefixLength = 128
const uint8_t
kWiFiULAAddressPrefixLength = 64
const uint8_t
sFabricStateDelegate
sState

ฟังก์ชัน

BorderRouterStateChange(InterfaceState inState)
void
WARM API ที่เรียกใช้เพื่อประกาศการเปลี่ยนแปลงสถานะของฟีเจอร์ Borderเราเตอร์
CellularInterfaceStateChange(InterfaceState inState)
void
WARM API ที่เรียกใช้เพื่อประกาศการเปลี่ยนแปลงสถานะสําหรับอินเทอร์เฟซเครือข่ายมือถือ
FabricStateChange(InterfaceState inState)
void
ฟังก์ชันที่ใช้ในการประกาศการเปลี่ยนแปลงสถานะสําหรับฟีเจอร์ผ้า Weave
GetCurrentActionState(ActionType inAction)
bool
ฟังก์ชันคงที่ที่ส่งสถานะปัจจุบันของการดําเนินการที่ระบุ
GetFabricState(const WeaveFabricState *& outFabricState)
WARM API สําหรับรับออบเจ็กต์ FabricState ที่ให้ไว้กับ Warm ระหว่าง Init
GetSystemFeatureState(SystemFeatureType inSystemFeature)
bool
ฟังก์ชันคงที่ที่ได้รับสถานะปัจจุบันของฟีเจอร์ของระบบ
GetULA(InterfaceType inInterfaceType, Inet::IPAddress & outAddress)
WARM API เพื่อรับ ULA สําหรับประเภทอินเทอร์เฟซที่ระบุ
Init(WeaveFabricState & inFabricState)
WARM API เพื่อดําเนินการเริ่มต้นโมดูลแบบครั้งเดียว
InvokeActions(void)
void
WARM API ที่เรียกจากงานเฉพาะเพื่อดําเนินการต่างๆ สําหรับ API ของแพลตฟอร์ม
LegacyHostAddressAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
การดําเนินการวิธีหนึ่ง
LegacyThreadAddressAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
การดําเนินการวิธีหนึ่ง
MakePrefix(const uint64_t & inGlobalID, const uint16_t subnetId, const uint8_t inPrefixLen, Inet::IPPrefix & outPrefix)
void
ยูทิลิตีเพื่อสร้างคํานําหน้า 48 บิตจาก GlobalID
MapAvailabilityToPriority(Profiles::WeaveTunnel::Platform::TunnelAvailabilityMode inAvailability)
ฟังก์ชันแบบคงที่ที่ส่งการแมปจาก TunnelAvailability ไปยัง RoutePriority
RecordPlatformResult(PlatformResult inResult, ActionType inAction, bool inActionState)
ฟังก์ชันคงที่ที่บันทึกผลลัพธ์ของการเรียก API ของแพลตฟอร์ม
ReportActionComplete(PlatformResult inResult)
void
มีการเรียก WARM API เพื่อประกาศการเรียกใช้ API ของแพลตฟอร์มแบบไม่พร้อมกันก่อนหน้า
SetCurrentActionState(ActionType inAction, bool inValue)
void
ฟังก์ชันแบบคงที่ที่กําหนดสถานะปัจจุบันของการดําเนินการที่ระบุ
SetSystemFeatureState(SystemFeatureType inSystemFeature, bool inValue)
bool
ฟังก์ชันแบบคงที่ที่กําหนดสถานะปัจจุบันของฟีเจอร์ของระบบ
ShouldPerformAction(ActionType inAction, FlagsType inNecessarySystemFeatureState, bool & outActivate)
bool
ฟังก์ชันคงที่ที่กําหนดว่าควรดําเนินการที่ระบุหรือไม่
SystemFeatureStateChangeHandler(SystemFeatureType inSystemFeatureType, bool inState)
void
ฟังก์ชันแบบคงที่ที่กําหนดสถานะฟีเจอร์ของระบบและแจ้งเตือนแพลตฟอร์มที่สถานะเหตุการณ์มีการเปลี่ยนแปลง
TakeActions(void)
void
ฟังก์ชันคงที่ที่ทดสอบสถานะของการดําเนินการแต่ละรายการและเรียก API แพลตฟอร์มเพื่อเปลี่ยนสถานะการดําเนินการหากจําเป็น
ThreadAdvertisementAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
การดําเนินการวิธีหนึ่ง
ThreadHostAddressAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
การดําเนินการวิธีหนึ่ง
ThreadHostRouteAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
การดําเนินการวิธีหนึ่ง
ThreadInterfaceStateChange(InterfaceState inState)
void
WARM API ที่เรียกใช้เพื่อประกาศการเปลี่ยนแปลงสถานะสําหรับอินเทอร์เฟซชุดข้อความ
ThreadRoutePriorityAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
การดําเนินการวิธีหนึ่ง
ThreadRoutingStateChange(InterfaceState inState)
void
WARM API ที่เรียกใช้เพื่อประกาศการเปลี่ยนแปลงสถานะสําหรับฟีเจอร์การกําหนดเส้นทางชุดข้อความ
ThreadThreadAddressAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
การดําเนินการวิธีหนึ่ง
ThreadThreadRouteAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
การดําเนินการวิธีหนึ่ง
TunnelHostAddressAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
การดําเนินการวิธีหนึ่ง
TunnelHostRouteAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
การดําเนินการวิธีหนึ่ง
TunnelInterfaceStateChange(InterfaceState inState)
void
WARM API ที่เรียกใช้เพื่อประกาศการเปลี่ยนแปลงสถานะสําหรับอินเทอร์เฟซ Weave Tunnel
TunnelPriorityStateChange(nl::Weave::Profiles::WeaveTunnel::Platform::TunnelAvailabilityMode inAvailability)
void
WARM API ที่เรียกเพื่ออัปเดตลําดับความสําคัญของบริการ Tunnel
TunnelServiceStateChange(InterfaceState inState, nl::Weave::Profiles::WeaveTunnel::Platform::TunnelAvailabilityMode inAvailability)
void
WARM API ที่เรียกใช้เพื่อประกาศการเปลี่ยนแปลงสถานะสําหรับอินเทอร์เฟซ Weave Tunnel
WiFiHostAddressAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
การดําเนินการวิธีหนึ่ง
WiFiInterfaceStateChange(InterfaceState inState)
void
WARM API ที่เรียกใช้เพื่อประกาศการเปลี่ยนแปลงสถานะสําหรับอินเทอร์เฟซ Wi-Fi

ชั้นเรียน

nl::Weave::Warm::WarmFabricStateDelegate

นี่คือชั้นเรียนภายในสําหรับ WarmCore

โครงสร้าง

nl:: Weave::Warm::ActionEntry
nl:: Weave::Warm::ModuleState

เนมสเปซ

nl::Weave::Warm::Platform

การแจกแจง

ประเภทการดําเนินการ

 ActionType
พร็อพเพอร์ตี้
kActionTypeHostRouteThread

เพิ่ม | นําเส้นทาง IP สําหรับอินเทอร์เฟซชุดข้อความในสแต็ก IP ของโฮสต์ออก

kActionTypeLegacy6LoWPANHostAddress

เพิ่ม | นําที่อยู่ IP ของอินเทอร์เฟซ 6LOWPAN เดิมออกจากสแต็ก IP ของโฮสต์

kActionTypeLegacy6LoWPANThreadAddress

เพิ่ม | นําที่อยู่ IP ของอินเทอร์เฟซ 6LOWPAN เดิมออกจากชุดข้อความใน Thread Module's

kActionTypeMax

ไม่เกิน สงวนไว้เพื่อทําเครื่องหมายบิตสูงสุดที่มีอยู่

kActionTypeThreadAdvertisement

เริ่ม | หยุดโฆษณาเส้นทางตามโมดูลชุดข้อความ

kActionTypeThreadHostAddress

เพิ่ม | นําที่อยู่ IP ของอินเทอร์เฟซชุดข้อความในสแต็ก IP ของโฮสต์ออก

kActionTypeThreadRoute

เพิ่ม | นําเส้นทาง IP ออกจากโมดูลชุดข้อความสําหรับการรองรับเส้นทาง Border Route

kActionTypeThreadRoutePriority

เปลี่ยนลําดับความสําคัญของเส้นทางของเส้นทางชุดข้อความในโมดูลชุดข้อความ

kActionTypeThreadThreadAddress

เพิ่ม | นําที่อยู่ IP ออกสําหรับอินเทอร์เฟซชุดข้อความในสแต็ก IP ของชุดข้อความในเทรด IP##39;

kActionTypeTunnelHostAddress

เพิ่ม | นําที่อยู่ IP ของอินเทอร์เฟซ Tunnel ในสแต็ก IP ของโฮสต์ออก

kActionTypeTunnelHostRoute

เพิ่ม | นําเส้นทาง IP สําหรับอินเทอร์เฟซ Tunnel ในสแต็ก IP ของโฮสต์ออก

kActionTypeTunnelServiceRoute

เพิ่ม | นําเส้นทาง IP 64 บิตสําหรับซับเน็ตบริการบนสแต็ก IP ของโฮสต์

kActionTypeWiFiHostAddress

เพิ่ม | นําที่อยู่ IP ของอินเทอร์เฟซ Wi-Fi ในสแต็ก IP ของโฮสต์ออก

สถานะเริ่มต้น

 InitState
พร็อพเพอร์ตี้
kInitStateNotInitialized

ค่านี้ต้องเป็น 0 เพื่อให้ค่าเริ่มต้นของ mInitState&#39 เป็น kInitStateNotInitialized

สถานะอินเทอร์เฟซ

 InterfaceState

Enum ของค่าสถานะอินเทอร์เฟซที่เป็นไปได้

ประเภทอินเทอร์เฟซ

 InterfaceType

Enum ของประเภทอินเทอร์เฟซที่เป็นไปได้

พร็อพเพอร์ตี้
kInterfaceTypeCellular

อินเทอร์เฟซเครือข่ายมือถือ

kInterfaceTypeLegacy6LoWPAN

อินเทอร์เฟซการตั้งปลุกแบบชุดข้อความ

kInterfaceTypeThread

อินเทอร์เฟซชุดข้อความ

kInterfaceTypeTunnel

อินเทอร์เฟซ Tunnel

kInterfaceTypeWiFi

อินเทอร์เฟซ Wi-Fi

การดําเนินการของ Platform

 PlatformActionExecution
พร็อพเพอร์ตี้
kPlatformActionExecutionContinue

ดําเนินการต่อไป

kPlatformActionExecutionSuspendForAsynchOpCompletion

ระงับการดําเนินการสําหรับการดําเนินการแบบไม่พร้อมกันเพื่อให้เสร็จสิ้นแล้ว

ผลลัพธ์ของแพลตฟอร์ม

 PlatformResult

การแจกแจงค่าที่เป็นไปได้ของ API แพลตฟอร์ม

พร็อพเพอร์ตี้
kPlatformResultFailure

เรียกใช้ API ไม่สําเร็จ

kPlatformResultInProgress

การทํางานนี้อยู่ระหว่างดําเนินการและจะเสร็จสมบูรณ์พร้อมกัน

kPlatformResultSuccess

สร้าง API เสร็จเรียบร้อยแล้ว

ลําดับความสําคัญของเส้นทาง

 RoutePriority

ระบุลําดับความสําคัญของเส้นทางที่เป็นไปได้ เพื่อที่จะได้มีลําดับความสําคัญของเส้นทางหนึ่งมากกว่าเส้นทางอื่น

ประเภทระบบ

 SystemFeatureType
พร็อพเพอร์ตี้
kSystemFeatureTypeBorderRoutingEnabled

IS เส้นทาง Border IS ของระบบ | # ไม่ได้เปิดใช้

kSystemFeatureTypeCellularConnected

IS เครือข่ายมือถือของระบบ' ไม่เชื่อมต่อ

kSystemFeatureTypeIsFabricMember

IS โมดูลระบบของ IS | ไม่ได้เป็นสมาชิกของผ้า

kSystemFeatureTypeMax

ไม่เกิน สงวนไว้เพื่อทําเครื่องหมายบิตสูงสุดที่มีอยู่

kSystemFeatureTypeThreadConnected

IS Thread Interface IS ของ System&#39 | IS ไม่ได้เชื่อมต่อ

kSystemFeatureTypeThreadRoutingEnabled

IS กําหนดเส้นทางชุดข้อความของ IS | ไม่ได้เปิดใช้ IS

kSystemFeatureTypeTunnelInterfaceEnabled

IS ของ Tunnel Interface IS | ไม่ได้เปิดใช้ IS

kSystemFeatureTypeTunnelState

IS ของ Tunnel Service IS | ยังไม่ได้สร้าง

kSystemFeatureTypeWiFiConnected

IS อินเทอร์เฟซ Wi-Fi ของ System' IS ไม่ได้เชื่อมต่อ

ประเภทคําจํากัดความ

ฟังก์ชันการทํางาน

PlatformResult(* ActionFunction)(ActionType inAction, bool inActivate, const uint64_t &inGlobalId, const uint64_t &inInterfaceId)

ประเภทแฟล็ก

uint16_t FlagsType

ตัวแปร

ความยาวคงที่สากล

const uint8_t kGlobalULAPrefixLength = 48

ความยาวเดิมของ K66LoWPANULAAddressPrefix

const uint8_t kLegacy6LoWPANULAAddressPrefixLength = 64

ความยาวของคํานําหน้า KkULAAAddress

const uint8_t kThreadULAAddressPrefixLength = 64

ความยาวคํานําหน้าที่อยู่ Kkununel

const uint8_t kTunnelAddressPrefixLength = 128

ความยาวคํานําหน้าที่อยู่ kWiFiULA

const uint8_t kWiFiULAAddressPrefixLength = 64

sFabricStateDelegate

WarmFabricStateDelegate sFabricStateDelegate

รัฐ

ModuleState sState

ฟังก์ชัน

BorderRouterStateChange

void BorderRouterStateChange(
  InterfaceState inState
)

WARM API ที่เรียกใช้เพื่อประกาศการเปลี่ยนแปลงสถานะของฟีเจอร์ Borderเราเตอร์

รายละเอียด
พารามิเตอร์
[in] inState
kInterfaceStateUp หากฟีเจอร์เราเตอร์ Border เริ่มทํางานแล้ว kInterfaceStateUp หากไม่เป็นเช่นนั้น

การเปลี่ยนแปลงสถานะระหว่างเซลล์

void CellularInterfaceStateChange(
  InterfaceState inState
)

WARM API ที่เรียกใช้เพื่อประกาศการเปลี่ยนแปลงสถานะสําหรับอินเทอร์เฟซเครือข่ายมือถือ

รายละเอียด
พารามิเตอร์
[in] inState
kInterfaceStateUp หากอินเทอร์เฟซเครือข่ายมือถือเลื่อนขึ้น kInterfaceStateUp

เปลี่ยนผ้า

void FabricStateChange(
  InterfaceState inState
)

ฟังก์ชันที่ใช้ในการประกาศการเปลี่ยนแปลงสถานะสําหรับฟีเจอร์ผ้า Weave

รายละเอียด
พารามิเตอร์
[in] inState
kInterfaceStateUp หากระบบเป็นสมาชิกของผ้า Weave หรือ kInterfaceStateUp

สถานะการกระทําปัจจุบัน

bool GetCurrentActionState(
  ActionType inAction
)

ฟังก์ชันคงที่ที่ส่งสถานะปัจจุบันของการดําเนินการที่ระบุ

รายละเอียด
พารามิเตอร์
[in] inAction
ประเภทการดําเนินการที่จะค้นหา
การคืนสินค้า
เป็นจริงหากการดําเนินการตั้งค่าไว้เป็น false หากไม่

สถานะ GetFabric

WEAVE_ERROR GetFabricState(
  const WeaveFabricState *& outFabricState
)

WARM API สําหรับรับออบเจ็กต์ FabricState ที่ให้ไว้กับ Warm ระหว่าง Init

รายละเอียด
พารามิเตอร์
[out] outFabricState
การอ้างอิงตัวชี้ไปยังออบเจ็กต์ FabricState
แสดงผลค่า
WEAVE_NO_ERROR
สําเร็จแล้ว
WEAVE_ERROR_INCORRECT_STATE
หากมีการเรียกใช้ API นี้ก่อนที่ WARM จะเริ่มต้น

สถานะฟีเจอร์ของระบบ

bool GetSystemFeatureState(
  SystemFeatureType inSystemFeature
)

ฟังก์ชันคงที่ที่ได้รับสถานะปัจจุบันของฟีเจอร์ของระบบ

รายละเอียด
พารามิเตอร์
[in] inSystemFeature
ฟีเจอร์ระบบสําหรับการค้นหา
การคืนสินค้า
เป็นจริงหากฟีเจอร์ของระบบเปิดใช้อยู่ เป็นเท็จ

เคาตูลา

WEAVE_ERROR GetULA(
  InterfaceType inInterfaceType,
  Inet::IPAddress & outAddress
)

WARM API เพื่อรับ ULA สําหรับประเภทอินเทอร์เฟซที่ระบุ

รายละเอียด
พารามิเตอร์
[in] inInterfaceType
ประเภทอินเทอร์เฟซที่ต้องการ ULA
[out] outAddress
ออบเจ็กต์ที่อยู่ที่ใช้ในการเก็บ ULA ที่ได้
แสดงผลค่า
WEAVE_NO_ERROR
สําเร็จแล้ว
WEAVE_ERROR_INCORRECT_STATE
หากมีการเรียก API นี้ในขณะที่ WARM ไม่ได้เป็นสมาชิกของ Canvas
WEAVE_ERROR_INVALID_ARGUMENT
หากมีการเรียก API ประเภทนี้ด้วยประเภทอินเทอร์เฟซที่ไม่ถูกต้อง

เริ่ม

WEAVE_ERROR Init(
  WeaveFabricState & inFabricState
)

WARM API เพื่อดําเนินการเริ่มต้นโมดูลแบบครั้งเดียว

รายละเอียด
พารามิเตอร์
[in] inFabricState
มีการอ้างถึง WeaveFabricState ที่ถูกต้อง
แสดงผลค่า
WEAVE_NO_ERROR
เมื่อเริ่มต้นระบบสําเร็จ
WEAVE_ERROR_INCORRECT_STATE
เมื่อมีการเรียกใช้ Init มากกว่า 1 ครั้ง
other
รหัสข้อผิดพลาด
การคืนสินค้า
WEhave_NO_ERROR สําเร็จแล้ว รหัสข้อผิดพลาด

เรียกใช้การดําเนินการ

void InvokeActions(
  void
)

WARM API ที่เรียกจากงานเฉพาะเพื่อดําเนินการต่างๆ สําหรับ API ของแพลตฟอร์ม

ค่านี้แสดงถึงจุดแรกเข้าเพื่อดําเนินการที่จําเป็นซึ่งจะส่งผลต่อสถานะระบบปัจจุบัน ตัวอย่างเช่น หากเปลี่ยนจากสแต็กเทรดจาก "ปิดใช้" เป็น "เปิดใช้" ฟังก์ชันนี้จะเรียกใช้แพลตฟอร์มที่จําเป็นเพื่อกําหนดที่อยู่โฮสต์ชุดข้อความ ฯลฯ ควรเรียกใช้ฟังก์ชันตามโค้ดของแพลตฟอร์มเพื่อตอบสนองต่อคําขอ Warm ไปยัง RequestInvokeActions การเรียกใช้ InvokeActions จะส่งผลให้มีการเรียกใช้ nl::Warm::Platform API's อย่างน้อย 1 ครั้ง นักพัฒนาซอฟต์แวร์ควรใช้ RequestInvokeActions และผู้โทร InvokeActions() อย่างเหมาะสม อาจเหมาะสําหรับ RequestInvokeActions เพื่อโพสต์เหตุการณ์ไปยังงานที่จะเรียกใช้ InvokeActions() ในทางกลับกัน หากระบบเป็นชุดข้อความเดี่ยว ระบบ RequestInvokeActions จะสามารถเรียกใช้ InvokeActions() ได้โดยตรง

ระบบเดิมโฮสต์

PlatformResult LegacyHostAddressAction(
  ActionType inAction,
  bool inActivate,
  const uint64_t & inGlobalId,
  const uint64_t & inInterfaceId
)

การดําเนินการวิธีหนึ่ง

ตั้งค่าที่อยู่โฮสต์สําหรับอินเทอร์เฟซเดิม

รายละเอียด
พารามิเตอร์
[in] inAction
ประเภทการดำเนินการ
[in] inActivate
สถานะ "จริง" == เปิดใช้งาน, เท็จ == ปิดใช้งาน
[in] inGlobalId
การอ้างอิงรหัสทั่วโลกของ Weave หากจําเป็นต้องใช้ในการคํานวณที่อยู่
[in] inInterfaceId
การอ้างอิงรหัสอินเทอร์เฟซของอุปกรณ์ (หากจําเป็น) เพื่อคํานวณที่อยู่
การคืนสินค้า
ส่งต่อผลลัพธ์จาก Platform::HostAddress()

เดิม

PlatformResult LegacyThreadAddressAction(
  ActionType inAction,
  bool inActivate,
  const uint64_t & inGlobalId,
  const uint64_t & inInterfaceId
)

การดําเนินการวิธีหนึ่ง

ตั้งค่าที่อยู่ชุดข้อความสําหรับอินเทอร์เฟซ 6LoWPAN แบบเดิม

รายละเอียด
พารามิเตอร์
[in] inAction
ประเภทการดำเนินการ
[in] inActivate
สถานะ "จริง" == เปิดใช้งาน, เท็จ == ปิดใช้งาน
[in] inGlobalId
การอ้างอิงรหัสทั่วโลกของ Weave หากจําเป็นต้องใช้ในการคํานวณที่อยู่
[in] inInterfaceId
การอ้างอิงรหัสอินเทอร์เฟซของอุปกรณ์ (หากจําเป็น) เพื่อคํานวณที่อยู่
การคืนสินค้า
ส่งต่อผลลัพธ์จาก Platform::ThreadAddress()

คํานําหน้า

void MakePrefix(
  const uint64_t & inGlobalID,
  const uint16_t subnetId,
  const uint8_t inPrefixLen,
  Inet::IPPrefix & outPrefix
)

ยูทิลิตีเพื่อสร้างคํานําหน้า 48 บิตจาก GlobalID

รายละเอียด
พารามิเตอร์
[in] inGlobalID
การอ้างอิงไปยัง Weave Global ID
[out] outPrefix
คํานําหน้าที่จะเริ่มต้น

ความพร้อมให้บริการของการแมปสําหรับลําดับความสําคัญ

RoutePriority MapAvailabilityToPriority(
  Profiles::WeaveTunnel::Platform::TunnelAvailabilityMode inAvailability
)

ฟังก์ชันแบบคงที่ที่ส่งการแมปจาก TunnelAvailability ไปยัง RoutePriority

รายละเอียด
พารามิเตอร์
[in] inAvailability
โหมดความพร้อมใช้งานของอุโมงค์ Weave
การคืนสินค้า
ค่าลําดับความสําคัญของการจับคู่

ผลลัพธ์ของ RecordPlatform

PlatformActionExecution RecordPlatformResult(
  PlatformResult inResult,
  ActionType inAction,
  bool inActionState
)

ฟังก์ชันคงที่ที่บันทึกผลลัพธ์ของการเรียก API ของแพลตฟอร์ม

โมดูลนี้ส่งคําขอเพื่อดําเนินการผ่าน API ที่เจาะจงแพลตฟอร์ม API&#39 ต้องรายงานผลลัพธ์ kPlatformResultSuccess|kPlatformResultFailure|kPlatformResultInProgress ของคําขอการดําเนินการนั้น ฟังก์ชันนี้จะบันทึกผลลัพธ์และส่งคืนค่า "จริง" หากผลลัพธ์อยู่ระหว่างดําเนินการและอาจมีความล่าช้าเพิ่มเติม

รายละเอียด
พารามิเตอร์
[in] inResult
ผลลัพธ์ API แพลตฟอร์ม
[in] inAction
การดําเนินการที่ API แพลตฟอร์มพยายามดําเนินการ
[in] inActionState
สถานะใหม่ของการดําเนินการหากผลลัพธ์สําเร็จ
การคืนสินค้า
หากเป็น API แพลตฟอร์มที่ประมวลผลคําขอแบบไม่พร้อมกัน จะเป็นเท็จในกรณีที่

รายงานการดําเนินการ

void ReportActionComplete(
  PlatformResult inResult
)

มีการเรียก WARM API เพื่อประกาศการเรียกใช้ API ของแพลตฟอร์มแบบไม่พร้อมกันก่อนหน้า

ระบบจะถือว่า API การทํางานของแพลตฟอร์มอาจต้องดําเนินการไม่พร้อมกัน หากเป็นจริง API แพลตฟอร์มจะแสดง kPlatformResultInProgress เมื่อเกิดเหตุการณ์นี้ขึ้น ระบบจะระงับการดําเนินการใหม่และการจํากัดการกําหนดเส้นทางจนกว่าระบบจะเรียกใช้ ReportActionComplete เพื่อแจ้งการดําเนินการเสร็จสมบูรณ์

รายละเอียด
พารามิเตอร์
[in] inResult
ผลการดําเนินการที่รอดําเนินการต้องเป็นอย่างใดอย่างหนึ่งต่อไปนี้ {kPlatformResultSuccess | kPlatformResultFailure}

ชุดการดําเนินการปัจจุบัน

void SetCurrentActionState(
  ActionType inAction,
  bool inValue
)

ฟังก์ชันแบบคงที่ที่กําหนดสถานะปัจจุบันของการดําเนินการที่ระบุ

รายละเอียด
พารามิเตอร์
[in] inAction
ประเภทการดําเนินการที่จะเปลี่ยน
[in] inValue
ค่าสถานะใหม่ที่จะใช้

สถานะฟีเจอร์ระบบ

bool SetSystemFeatureState(
  SystemFeatureType inSystemFeature,
  bool inValue
)

ฟังก์ชันแบบคงที่ที่กําหนดสถานะปัจจุบันของฟีเจอร์ของระบบ

รายละเอียด
พารามิเตอร์
[in] inSystemFeature
SystemFeature ที่จะตั้งค่า
[in] inValue
ค่าสถานะใหม่ที่จะใช้
การคืนสินค้า
เป็นจริงหากฟีเจอร์ของระบบมีการเปลี่ยนแปลง เป็นเท็จ

ควรดําเนินการ

bool ShouldPerformAction(
  ActionType inAction,
  FlagsType inNecessarySystemFeatureState,
  bool & outActivate
)

ฟังก์ชันคงที่ที่กําหนดว่าควรดําเนินการที่ระบุหรือไม่

ฟังก์ชันนี้จะตรวจสอบเงื่อนไขของการติดธงสถานะฟีเจอร์ของระบบและพิจารณาว่าควรเปิดหรือปิดใช้การดําเนินการที่ระบุ จากนั้น ฟังก์ชันจะตรวจสอบสถานะปัจจุบันของการดําเนินการและหากไม่ได้ตั้งค่าเป็นค่าที่ฟีเจอร์ฟีเจอร์ของระบบกําหนดไว้ ฟังก์ชันดังกล่าวจะส่งคืนจริงพร้อมกับสถานะการดําเนินการที่ต้องการใน outActivate

รายละเอียด
พารามิเตอร์
[in] inAction
แอ็กชันที่จะค้นหา
[in] inNecessarySystemFeatureState
การติดธงสถานะที่จําเป็นเพื่อให้ใช้งานได้
[out] outActivate
สถานะที่ต้องการของการดําเนินการ
การคืนสินค้า
เป็นจริงหากการดําเนินการไม่อยู่ในสถานะที่ต้องการ หากเป็น "เท็จ" หากไม่เป็นเช่นนั้น

เครื่องจัดการฟีเจอร์สถานะของระบบ

void SystemFeatureStateChangeHandler(
  SystemFeatureType inSystemFeatureType,
  bool inState
)

ฟังก์ชันแบบคงที่ที่กําหนดสถานะฟีเจอร์ของระบบและแจ้งเตือนแพลตฟอร์มที่สถานะเหตุการณ์มีการเปลี่ยนแปลง

เรียกใช้โดย EventStateChange API&#39 เพื่อดําเนินการแสดงความรู้สึกที่จําเป็น

รายละเอียด
พารามิเตอร์
[in] inSystemFeatureType
สถานะที่เปลี่ยนแปลงซึ่งสอดคล้องกับ API ที่ถูกเรียก
[in] inState
ค่าใหม่สําหรับรัฐ

การดําเนินการ

void TakeActions(
  void
)

ฟังก์ชันคงที่ที่ทดสอบสถานะของการดําเนินการแต่ละรายการและเรียก API แพลตฟอร์มเพื่อเปลี่ยนสถานะการดําเนินการหากจําเป็น

ฟังก์ชันนี้ใช้ ShouldPerformAction() เพื่อระบุว่าต้องเปลี่ยนสถานะ/ดําเนินการหรือไม่ หาก ShouldPerformAction() แสดงผลเป็น "จริง" ฟังก์ชันจะเรียก API การดําเนินการที่เหมาะสมเพื่อดําเนินการเพื่อทําให้วิดีโออยู่ในสถานะที่ต้องการ ผลลัพธ์ของการเรียกใช้ API การดําเนินการจะส่งไปยัง RecordPlatformResult() และถ้าฟังก์ชันนั้นส่งคืนค่าเป็น "จริง" การดําเนินการของฟังก์ชันนี้จะสิ้นสุด

การดําเนินการเกี่ยวกับชุดข้อความ

PlatformResult ThreadAdvertisementAction(
  ActionType inAction,
  bool inActivate,
  const uint64_t & inGlobalId,
  const uint64_t & inInterfaceId
)

การดําเนินการวิธีหนึ่ง

ตั้งค่าสถานะการโฆษณาชุดข้อความ

รายละเอียด
พารามิเตอร์
[in] inAction
ประเภทการดำเนินการ
[in] inActivate
สถานะ "จริง" == เปิดใช้งาน, เท็จ == ปิดใช้งาน
[in] inGlobalId
การอ้างอิงรหัสทั่วโลกของ Weave หากจําเป็นต้องใช้ในการคํานวณที่อยู่
[in] inInterfaceId
การอ้างอิงรหัสอินเทอร์เฟซของอุปกรณ์ (หากจําเป็น) เพื่อคํานวณที่อยู่
การคืนสินค้า
ส่งต่อผลลัพธ์จาก Platform::ThreadAdvertisingment()

การดําเนินการโฮสต์ชุดข้อความ

PlatformResult ThreadHostAddressAction(
  ActionType inAction,
  bool inActivate,
  const uint64_t & inGlobalId,
  const uint64_t & inInterfaceId
)

การดําเนินการวิธีหนึ่ง

ตั้งค่าที่อยู่โฮสต์สําหรับอินเทอร์เฟซชุดข้อความ

รายละเอียด
พารามิเตอร์
[in] inAction
ประเภทการดำเนินการ
[in] inActivate
สถานะ "จริง" == เปิดใช้งาน, เท็จ == ปิดใช้งาน
[in] inGlobalId
การอ้างอิงรหัสทั่วโลกของ Weave หากจําเป็นต้องใช้ในการคํานวณที่อยู่
[in] inInterfaceId
การอ้างอิงรหัสอินเทอร์เฟซของอุปกรณ์ (หากจําเป็น) เพื่อคํานวณที่อยู่
การคืนสินค้า
ส่งต่อผลลัพธ์จาก Platform::HostAddress()

ชุดข้อความโฮสต์โฮสต์

PlatformResult ThreadHostRouteAction(
  ActionType inAction,
  bool inActivate,
  const uint64_t & inGlobalId,
  const uint64_t & inInterfaceId
)

การดําเนินการวิธีหนึ่ง

ตั้งค่าเส้นทางโฮสต์สําหรับอินเทอร์เฟซชุดข้อความ

รายละเอียด
พารามิเตอร์
[in] inAction
ประเภทการดำเนินการ
[in] inActivate
สถานะ "จริง" == เปิดใช้งาน, เท็จ == ปิดใช้งาน
[in] inGlobalId
การอ้างอิงรหัสทั่วโลกของ Weave หากจําเป็นต้องใช้ในการคํานวณที่อยู่
[in] inInterfaceId
การอ้างอิงรหัสอินเทอร์เฟซของอุปกรณ์ (หากจําเป็น) เพื่อคํานวณที่อยู่
การคืนสินค้า
ส่งต่อผลลัพธ์จาก Platform::HostRoute()

ชุดข้อความของ InterInterState

void ThreadInterfaceStateChange(
  InterfaceState inState
)

WARM API ที่เรียกใช้เพื่อประกาศการเปลี่ยนแปลงสถานะสําหรับอินเทอร์เฟซชุดข้อความ

รายละเอียด
พารามิเตอร์
[in] inState
kInterfaceStateUp หากอินเทอร์เฟซชุดข้อความเลื่อนขึ้น kInterfaceStateUp

ลําดับความสําคัญของเส้นทาง

PlatformResult ThreadRoutePriorityAction(
  ActionType inAction,
  bool inActivate,
  const uint64_t & inGlobalId,
  const uint64_t & inInterfaceId
)

การดําเนินการวิธีหนึ่ง

ตั้งค่าลําดับความสําคัญของเส้นทางชุดข้อความโดยอิงตามความพร้อมใช้งานของอุโมงค์ข้อมูล

รายละเอียด
พารามิเตอร์
[in] inAction
ประเภทการดำเนินการ
[in] inActivate
สถานะ "จริง" == เปิดใช้งาน, เท็จ == ปิดใช้งาน
[in] inGlobalId
การอ้างอิงรหัสทั่วโลกของ Weave หากจําเป็นต้องใช้ในการคํานวณที่อยู่
[in] inInterfaceId
การอ้างอิงรหัสอินเทอร์เฟซของอุปกรณ์ (หากจําเป็น) เพื่อคํานวณที่อยู่
การคืนสินค้า
ส่งต่อผลลัพธ์จาก Platform::ThreadRoutePriority()

การเปลี่ยนแปลงการกําหนดเส้นทางชุดข้อความ

void ThreadRoutingStateChange(
  InterfaceState inState
)

WARM API ที่เรียกใช้เพื่อประกาศการเปลี่ยนแปลงสถานะสําหรับฟีเจอร์การกําหนดเส้นทางชุดข้อความ

รายละเอียด
พารามิเตอร์
[in] inState
kInterfaceStateUp เมื่อฟีเจอร์การกําหนดเส้นทางชุดข้อความเปิดอยู่ kInterfaceStateUp

ชุดข้อความชุดข้อความ

PlatformResult ThreadThreadAddressAction(
  ActionType inAction,
  bool inActivate,
  const uint64_t & inGlobalId,
  const uint64_t & inInterfaceId
)

การดําเนินการวิธีหนึ่ง

ตั้งค่าที่อยู่ชุดข้อความสําหรับอินเทอร์เฟซของชุดข้อความ

รายละเอียด
พารามิเตอร์
[in] inAction
ประเภทการดำเนินการ
[in] inActivate
สถานะ "จริง" == เปิดใช้งาน, เท็จ == ปิดใช้งาน
[in] inGlobalId
การอ้างอิงรหัสทั่วโลกของ Weave หากจําเป็นต้องใช้ในการคํานวณที่อยู่
[in] inInterfaceId
การอ้างอิงรหัสอินเทอร์เฟซของอุปกรณ์ (หากจําเป็น) เพื่อคํานวณที่อยู่
การคืนสินค้า
ส่งต่อผลลัพธ์จาก Platform::ThreadAddress()

การดําเนินการชุดข้อความ

PlatformResult ThreadThreadRouteAction(
  ActionType inAction,
  bool inActivate,
  const uint64_t & inGlobalId,
  const uint64_t & inInterfaceId
)

การดําเนินการวิธีหนึ่ง

ตั้งค่าเส้นทางชุดข้อความสําหรับชุดข้อความ

รายละเอียด
พารามิเตอร์
[in] inAction
ประเภทการดำเนินการ
[in] inActivate
สถานะ "จริง" == เปิดใช้งาน, เท็จ == ปิดใช้งาน
[in] inGlobalId
การอ้างอิงรหัสทั่วโลกของ Weave หากจําเป็นต้องใช้ในการคํานวณที่อยู่
[in] inInterfaceId
การอ้างอิงรหัสอินเทอร์เฟซของอุปกรณ์ (หากจําเป็น) เพื่อคํานวณที่อยู่
การคืนสินค้า
ส่งต่อผลลัพธ์จาก Platform::ThreadRoute()

TunnelHostAddressAction

PlatformResult TunnelHostAddressAction(
  ActionType inAction,
  bool inActivate,
  const uint64_t & inGlobalId,
  const uint64_t & inInterfaceId
)

การดําเนินการวิธีหนึ่ง

ตั้งค่า HostAddress for Tunnel Interface

รายละเอียด
พารามิเตอร์
[in] inAction
ประเภทการดำเนินการ
[in] inActivate
สถานะ "จริง" == เปิดใช้งาน, เท็จ == ปิดใช้งาน
[in] inGlobalId
การอ้างอิงรหัสทั่วโลกของ Weave หากจําเป็นต้องใช้ในการคํานวณที่อยู่
[in] inInterfaceId
การอ้างอิงรหัสอินเทอร์เฟซของอุปกรณ์ (หากจําเป็น) เพื่อคํานวณที่อยู่
การคืนสินค้า
ส่งต่อผลลัพธ์จาก Platform::HostAddress()

TunnelHostRouteAction

PlatformResult TunnelHostRouteAction(
  ActionType inAction,
  bool inActivate,
  const uint64_t & inGlobalId,
  const uint64_t & inInterfaceId
)

การดําเนินการวิธีหนึ่ง

ตั้งค่า HostRoute สําหรับ Tunnel Interface

รายละเอียด
พารามิเตอร์
[in] inAction
ประเภทการดำเนินการ
[in] inActivate
สถานะ "จริง" == เปิดใช้งาน, เท็จ == ปิดใช้งาน
[in] inGlobalId
การอ้างอิงรหัสทั่วโลกของ Weave หากจําเป็นต้องใช้ในการคํานวณที่อยู่
[in] inInterfaceId
การอ้างอิงรหัสอินเทอร์เฟซของอุปกรณ์ (หากจําเป็น) เพื่อคํานวณที่อยู่
การคืนสินค้า
ส่งต่อผลลัพธ์จาก Platform::HostRoute()

TunnelInterfaceStateChange

void TunnelInterfaceStateChange(
  InterfaceState inState
)

WARM API ที่เรียกใช้เพื่อประกาศการเปลี่ยนแปลงสถานะสําหรับอินเทอร์เฟซ Weave Tunnel

รายละเอียด
พารามิเตอร์
[in] inState
kInterfaceStateUp หากอินเทอร์เฟซ Tunave Tunnel เปิดอยู่ หากไม่อัปเดต kInterfaceStatedown

TunnelPriorityStateChange

void TunnelPriorityStateChange(
  nl::Weave::Profiles::WeaveTunnel::Platform::TunnelAvailabilityMode inAvailability
)

WARM API ที่เรียกเพื่ออัปเดตลําดับความสําคัญของบริการ Tunnel

รายละเอียด
พารามิเตอร์
[in] inAvailability
ค่าใหม่สําหรับสถานะความพร้อมใช้งานของอุโมงค์ข้อมูล

TunnelServiceStateChange

void TunnelServiceStateChange(
  InterfaceState inState,
  nl::Weave::Profiles::WeaveTunnel::Platform::TunnelAvailabilityMode inAvailability
)

WARM API ที่เรียกใช้เพื่อประกาศการเปลี่ยนแปลงสถานะสําหรับอินเทอร์เฟซ Weave Tunnel

รายละเอียด
พารามิเตอร์
[in] inState
kInterfaceStateUp ถ้าสร้างบริการ Tunave Tunnel ไว้ kInterfaceState Down เป็นอย่างอื่น
[in] inAvailability
สถานะความพร้อมใช้งานที่จะใช้ภายหลังในการกําหนดค่าอุโมงค์ข้อมูล

การทํางานของที่อยู่โฮสต์ Wi-Fi

PlatformResult WiFiHostAddressAction(
  ActionType inAction,
  bool inActivate,
  const uint64_t & inGlobalId,
  const uint64_t & inInterfaceId
)

การดําเนินการวิธีหนึ่ง

ตั้งค่าที่อยู่โฮสต์สําหรับอินเทอร์เฟซ Wi-Fi

รายละเอียด
พารามิเตอร์
[in] inAction
ประเภทการดำเนินการ
[in] inActivate
สถานะ "จริง" == เปิดใช้งาน, เท็จ == ปิดใช้งาน
[in] inGlobalId
การอ้างอิงรหัสทั่วโลกของ Weave หากจําเป็นต้องใช้ในการคํานวณที่อยู่
[in] inInterfaceId
การอ้างอิงรหัสอินเทอร์เฟซของอุปกรณ์ (หากจําเป็น) เพื่อคํานวณที่อยู่
การคืนสินค้า
ส่งต่อผลลัพธ์จาก Platform::HostAddress()

สถานะ WiFi ของใบหน้า

void WiFiInterfaceStateChange(
  InterfaceState inState
)

WARM API ที่เรียกใช้เพื่อประกาศการเปลี่ยนแปลงสถานะสําหรับอินเทอร์เฟซ Wi-Fi

รายละเอียด
พารามิเตอร์
[in] inState
kInterfaceStateUp หากอินเทอร์เฟซ Wi-Fi เปิดอยู่ หรือ kInterfaceStateUp