nl::Weave::Profiles::DataManagement_Legacy

เนมสเปซนี้มีอินเทอร์เฟซทั้งหมดภายใน Weave สำหรับโปรไฟล์ Weave Data Management (WDM) ที่กำลังจะเลิกใช้งาน

สรุป

การแจกแจง

@103{
  kStatus_CancelSuccess = 0x0001,
  kStatus_InvalidPath = 0x0013,
  kStatus_UnknownTopic = 0x0014,
  kStatus_IllegalReadRequest = 0x0015,
  kStatus_IllegalWriteRequest = 0x0016,
  kStatus_InvalidVersion = 0x0017,
  kStatus_UnsupportedSubscriptionMode = 0x0018
}
enum
@166{
  kViewPoolSize = WEAVE_CONFIG_WDM_VIEW_POOL_SIZE,
  kSubscribePoolSize = WEAVE_CONFIG_WDM_SUBSCRIBE_POOL_SIZE,
  kCancelSubscriptionPoolSize = WEAVE_CONFIG_WDM_CANCEL_SUBSCRIPTION_POOL_SIZE,
  kUpdatePoolSize = WEAVE_CONFIG_WDM_UPDATE_POOL_SIZE,
  kNotifyPoolSize = WEAVE_CONFIG_WDM_NOTIFY_POOL_SIZE,
  kTransactionTableSize = WEAVE_CONFIG_WDM_TRANSACTION_TABLE_SIZE,
  kBindingTableSize = WEAVE_CONFIG_WDM_BINDING_TABLE_SIZE,
  kNotifierTableSize = WEAVE_CONFIG_WDM_NOTIFIER_TABLE_SIZE,
  kSubscriptionMgrTableSize = WEAVE_CONFIG_WDM_SUBSCRIPTION_MGR_TABLE_SIZE
}
enum
ขนาดพูลและตาราง WDM
@167{
  kMsgType_ViewRequest = 0x10,
  kMsgType_ViewResponse = 0x11,
  kMsgType_SubscribeRequest = 0x12,
  kMsgType_SubscribeResponse = 0x13,
  kMsgType_CancelSubscriptionRequest = 0x14,
  kMsgType_UpdateRequest = 0x15,
  kMsgType_NotifyRequest = 0x16,
  kMsgType_ViewRequest_Deprecated = 0x00,
  kMsgType_ViewResponse_Deprecated = 0x01,
  kMsgType_SubscribeRequest_Deprecated = 0x02,
  kMsgType_SubscribeResponse_Deprecated = 0x03,
  kMsgType_CancelSubscriptionRequest_Deprecated = 0x04,
  kMsgType_UpdateRequest_Deprecated = 0x05,
  kMsgType_NotifyRequest_Deprecated = 0x06
}
enum
ประเภทข้อความโปรไฟล์ WDM
@168{
  kTransactionIdNotSpecified = 0,
  kResponseTimeoutNotSpecified = 0,
  kVersionNotSpecified = 0xFFFFFFFFFFFFFFFFULL,
  kInstanceIdNotSpecified = 0,
  kDefaultBindingTableIndex = 0,
  kWeaveTLVTagLen = 8,
  kWeaveTLVControlByteLen = 1
}
enum
ค่าคงที่เฉพาะ WDM เบ็ดเตล็ด
@169{
  kStatus_CancelSuccess = 0x0001,
  kStatus_InvalidPath = 0x0013,
  kStatus_UnknownTopic = 0x0014,
  kStatus_IllegalReadRequest = 0x0015,
  kStatus_IllegalWriteRequest = 0x0016,
  kStatus_InvalidVersion = 0x0017,
  kStatus_UnsupportedSubscriptionMode = 0x0018
}
enum
รหัสสถานะสำหรับ WDM โดยเฉพาะ
@170{
  kTag_WDMPathList = 100,
  kTag_WDMPathProfile = 101,
  kTag_WDMPathProfileId = 1,
  kTag_WDMPathProfileInstance = 2,
  kTag_WDMPathProfileId_Deprecated = 102,
  kTag_WDMPathProfileInstance_Deprecated = 103,
  kTag_WDMPathArrayIndexSelector = 104,
  kTag_WDMPathArrayValueSelector = 105,
  kTag_WDMDataList = 200,
  kTag_WDMDataListElementPath = 3,
  kTag_WDMDataListElementVersion = 4,
  kTag_WDMDataListElementData = 5,
  kTag_WDMDataListElementPath_Deprecated = 201,
  kTag_WDMDataListElementVersion_Deprecated = 202,
  kTag_WDMDataListElementData_Deprecated = 203
}
enum
แท็กโปรโตคอลการจัดการข้อมูล
@171{
  kTopicIdPublisherSpecificMask = 0xFFFF000000000000ULL,
  kTopicIdNotSpecified = 0x0000000000000000ULL,
  kAnyTopicId = 0xFFFFFFFFFFFFFFFFULL
}
enum
รหัสหัวข้อเฉพาะ
WeaveTransportOption{
  kTransport_TCP = 1,
  kTransport_WRMP = 2,
  kTransport_UDP = 3
}
enum
ตัวเลือกการขนส่ง WDM

Typedef

TopicIdentifier typedef
uint64_t
ตัวระบุหัวข้อ

ฟังก์ชัน

CheckTLVType(nl::Weave::TLV::TLVType aType, nl::Weave::TLV::TLVReader & aReader)
bool
ตรวจสอบว่าองค์ประกอบ TLV ที่อ่านอยู่เป็นประเภท TLV ที่คาดไว้
CheckWDMTag(uint32_t aTagNum, nl::Weave::TLV::TLVReader & aReader)
bool
ตรวจสอบแท็กเฉพาะ WDM
CloseDataListElement(nl::Weave::TLV::TLVReader & aReader)
หยุดอ่านองค์ประกอบรายการข้อมูล WDM
CloseList(nl::Weave::TLV::TLVReader & aReader)
หยุดอ่านเส้นทางหรือรายการข้อมูล WDM
EncodeDeprecatedPath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint64_t & aInstanceId, uint32_t aPathLen, ...)
เข้ารหัสเส้นทาง WDM ด้วยแท็กที่เลิกใช้งานแล้วและรหัสอินสแตนซ์จำนวนเต็ม
EncodeDeprecatedPath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const char *aInstanceId, uint32_t aPathLen, ...)
เข้ารหัสเส้นทาง WDM ด้วยแท็กที่เลิกใช้งานแล้วและรหัสอินสแตนซ์สตริง
EncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint64_t & aInstanceId, uint32_t aPathLen, ...)
เข้ารหัสเส้นทาง WDM ด้วยรหัสอินสแตนซ์ของโปรไฟล์จำนวนเต็ม
EncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint32_t aInstanceIdLen, const uint8_t *aInstanceId, uint32_t aPathLen, ...)
เข้ารหัสเส้นทาง WDM ด้วยรหัสอินสแตนซ์อาร์เรย์แบบไบต์
EncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const char *aInstanceId, uint32_t aPathLen, ...)
เข้ารหัสเส้นทาง WDM ด้วยรหัสอินสแตนซ์สตริง
EndDataListElement(nl::Weave::TLV::TLVWriter & aWriter)
เขียนองค์ประกอบรายการข้อมูลให้เสร็จ
EndEncodePath(TLVWriter & aWriter, TLVType & mOuterContainer, WEAVE_ERROR mError)
EndList(nl::Weave::TLV::TLVWriter & aWriter)
เขียนรายการเส้นทางหรือรายการข้อมูลให้เสร็จ
EndList(ReferencedTLVData & aList, nl::Weave::TLV::TLVWriter & aWriter)
เขียนรายการเส้นทางหรือรายการข้อมูลให้เสร็จ
IsPublisherSpecific(const TopicIdentifier & aTopicId)
bool
ตรวจสอบว่ารหัสหัวข้อมีไว้สำหรับผู้เผยแพร่โฆษณาโดยเฉพาะหรือไม่
OpenDataList(ReferencedTLVData & aDataList, nl::Weave::TLV::TLVReader & aReader)
เริ่มอ่านรายการข้อมูล
OpenDataListElement(nl::Weave::TLV::TLVReader & aReader, nl::Weave::TLV::TLVReader & aPathReader, uint64_t & aVersion)
เริ่มอ่านองค์ประกอบรายการข้อมูล
OpenPathList(ReferencedTLVData & aPathList, nl::Weave::TLV::TLVReader & aReader)
เริ่มอ่านรายการเส้นทาง
PublisherSpecificTopicId(void)
สร้างรหัสหัวข้อเฉพาะผู้เผยแพร่โฆษณาใหม่ตั้งแต่ต้น
SendStatusReport(ExchangeContext *aExchangeCtx, StatusReport & aStatus)
StartDataList(nl::Weave::TLV::TLVWriter & aWriter)
เริ่มเขียนรายการข้อมูล
StartDataList(ReferencedTLVData & aDataList, nl::Weave::TLV::TLVWriter & aWriter)
เริ่มเขียนรายการข้อมูลลงในออบเจ็กต์ ReferencedTLVData ที่กำหนด
StartDataListElement(nl::Weave::TLV::TLVWriter & aWriter)
เริ่มเขียนองค์ประกอบรายการข้อมูล
StartEncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, TLVType & mOuterContainer, TLVType & mPath)
StartPathList(nl::Weave::TLV::TLVWriter & aWriter)
เริ่มเขียนรายการเส้นทาง
TxnResponseHandler(ExchangeContext *anExchangeCtx, const IPPacketInfo *anAddrInfo, const WeaveMessageInfo *aMsgInfo, uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aMsg)
void
TxnTimeoutHandler(ExchangeContext *anExchangeCtx)
void
ValidateTLVType(nl::Weave::TLV::TLVType aType, nl::Weave::TLV::TLVReader & aReader)
ตรวจสอบว่าองค์ประกอบ TLV ที่อ่านอยู่เป็นประเภท TLV ที่คาดไว้
ValidateWDMTag(uint32_t aTagNum, nl::Weave::TLV::TLVReader & aReader)
ตรวจสอบว่าองค์ประกอบ TLV ที่อ่านอยู่มีแท็ก WDM ที่คาดไว้

คลาส

nl::Weave::Profiles::DataManagement_Legacy::Binding

คลาส การเชื่อมโยง จะจัดการสถานะการสื่อสารในนามของเอนทิตีของแอปพลิเคชันโดยใช้ Weave

nl::Weave::Profiles::DataManagement_Legacy::ClientDataManager

คลาสนามธรรมที่มีคำจำกัดความของเมธอดการยืนยันและตัวบ่งชี้ที่ต้องการโดยไคลเอ็นต์ WDM

nl::Weave::Profiles::DataManagement_Legacy::ClientNotifier

คลาสเสริมที่ใช้งานเมื่อต้องการการสนับสนุนการสมัครใช้บริการและการแจ้งเตือนในไคลเอ็นต์ WDM

nl::Weave::Profiles::DataManagement_Legacy::DMClient

คลาสพื้นฐาน Abstract สำหรับไคลเอ็นต์ WDM เฉพาะแอปพลิเคชัน

nl::Weave::Profiles::DataManagement_Legacy::DMPublisher

คลาสพื้นฐานนามธรรมสำหรับผู้เผยแพร่โฆษณา WDM เฉพาะแอปพลิเคชัน

nl::Weave::Profiles::DataManagement_Legacy::ProfileDatabase

คลาสเสริม ProfileDatabase นามธรรม

nl::Weave::Profiles::DataManagement_Legacy::ProtocolEngine

คลาสเครื่องมือโปรโตคอล WDM

nl::Weave::Profiles::DataManagement_Legacy::PublisherDataManager

คลาสนามธรรมที่มีคำจำกัดความของวิธียืนยันและการแจ้งเตือนตามที่ผู้เผยแพร่โฆษณา WDM กำหนด

การแจกแจง

@103

 @103
พร็อพเพอร์ตี้
kStatus_CancelSuccess

รหัสสถานะเดิมนี้หมายความว่ามีการยกเลิกการสมัครใช้บริการเรียบร้อยแล้ว

รหัสสถานะนี้หมายความว่าการสมัครใช้บริการถูกยกเลิกเรียบร้อยแล้ว

kStatus_IllegalReadRequest

รหัสสถานะเดิมนี้หมายความว่าโหนดที่ส่งคำขอเพื่ออ่านรายการข้อมูลบางรายการไม่มีสิทธิ์ในการดำเนินการดังกล่าว

รหัสสถานะนี้หมายความว่าโหนดที่ส่งคำขอเพื่ออ่านรายการข้อมูลบางรายการไม่มีสิทธิ์ในการดำเนินการดังกล่าว

kStatus_IllegalWriteRequest

รหัสสถานะเดิมนี้หมายความว่าโหนดที่ส่งคำขอเพื่อเขียนรายการข้อมูลหนึ่งๆ ไม่มีสิทธิ์ในการดำเนินการดังกล่าว

รหัสสถานะนี้หมายความว่าโหนดที่ส่งคำขอเพื่อเขียนรายการข้อมูลหนึ่งๆ ไม่มีสิทธิ์ในการดำเนินการดังกล่าว

kStatus_InvalidPath

รหัสสถานะเดิมนี้หมายความว่าเส้นทางจากรายการเส้นทางของเฟรมคำขอข้อมูลพร็อพเพอร์ตี้หรือเฟรมคำขออัปเดตไม่ตรงกับสคีมาแบบใช้พื้นที่ของโหนดของผู้ตอบ

รหัสสถานะนี้หมายความว่าเส้นทางจากรายการเส้นทางของเฟรมคำขอข้อมูลพร็อพเพอร์ตี้หรือเฟรมคำขออัปเดตไม่ตรงกับสคีมาแบบใช้พื้นที่ของโหนดของผู้ตอบ

kStatus_InvalidVersion

รหัสสถานะเดิมนี้หมายความว่าเวอร์ชันของข้อมูลที่รวมอยู่ในคำขออัปเดตไม่ตรงกับเวอร์ชันล่าสุดของผู้เผยแพร่โฆษณา จึงไม่สามารถนำการอัปเดตไปใช้ได้

รหัสสถานะนี้หมายความว่าเวอร์ชันของข้อมูลที่รวมอยู่ในคำขออัปเดตไม่ตรงกับเวอร์ชันล่าสุดของผู้เผยแพร่โฆษณา จึงไม่สามารถนำการอัปเดตไปใช้ได้

kStatus_UnknownTopic

รหัสสถานะเดิมนี้หมายความว่าตัวระบุหัวข้อที่ให้ไว้ในคำขอยกเลิกหรือการแจ้งเตือนไม่ตรงกับระยะเวลาการสมัครใช้บริการใดๆ ในโหนดที่ได้รับ

รหัสสถานะนี้หมายความว่าตัวระบุหัวข้อที่ให้ไว้ในคำขอยกเลิกหรือการแจ้งเตือนไม่ตรงกับระยะเวลาการสมัครใช้บริการใดๆ ในโหนดที่ได้รับ

kStatus_UnsupportedSubscriptionMode

รหัสสถานะเดิมนี้หมายความว่าอุปกรณ์ที่รับไม่รองรับโหมดของการสมัครใช้บริการที่ขอ

รหัสสถานะนี้หมายความว่าอุปกรณ์ที่รับไม่รองรับโหมดของการสมัครใช้บริการที่ขอ

@166

 @166

ขนาดพูลและตาราง WDM

WDM กำหนดพูลและตารางต่างๆ ที่จำเป็นสำหรับการทำงาน ดังนี้

พูลธุรกรรมของไคลเอ็นต์:

  • kViewPoolSize
  • kSubscribePoolSize
  • kCancelSubscriptionPoolSize
  • kUpdatePoolSize

กลุ่มธุรกรรมของผู้เผยแพร่โฆษณา:

  • kNotifyPoolSize

ตารางเครื่องมือโปรโตคอล:

  • kTransactionTableSize
  • kBindingTableSize

ตารางที่เกี่ยวข้องกับการสมัครใช้บริการ

  • kNotifierTableSize (ไคลเอ็นต์เท่านั้น)
  • kSubscriptionMgrTableSize (ผู้เผยแพร่โฆษณาเท่านั้น)

โปรดทราบว่าจำนวนเหล่านี้เป็นปริมาณที่กำหนดค่าได้ และค่าต่อแพลตฟอร์มจะปรากฏใน WeaveConfig.h ที่เชื่อมโยง

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

นี่คือขนาดเริ่มต้นของตารางการเชื่อมโยงในเครื่องมือโปรโตคอล WDM

ค่านี้จะกำหนดค่าผ่าน WEAVE_CONFIG_WDM_BINDING_TABLE_SIZE

kCancelSubscriptionPoolSize

นี่คือขนาดเริ่มต้นของพูลธุรกรรมคำขอยกเลิกการสมัครสำหรับไคลเอ็นต์ WDM

ค่านี้อาจได้รับการกำหนดค่าผ่าน WEAVE_CONFIG_WDM_CANCEL_SUBSCRIPTION_POOL_SIZE

kNotifierTableSize

นี่คือขนาดเริ่มต้นของตารางการแจ้งเตือนสำหรับไคลเอ็นต์ WDM

ค่านี้จะกำหนดค่าผ่าน WEAVE_CONFIG_WDM_NOTIFIER_TABLE_SIZE

kNotifyPoolSize

นี่คือขนาดเริ่มต้นของกลุ่มธุรกรรมคำขอการแจ้งเตือนสำหรับผู้เผยแพร่โฆษณา WDM

ค่านี้จะกำหนดค่าผ่าน WEAVE_CONFIG_WDM_NOTIFY_POOL_SIZE

kSubscribePoolSize

นี่คือขนาดเริ่มต้นของพูลธุรกรรมคำขอสมัครใช้บริการสำหรับไคลเอ็นต์ WDM

ค่านี้อาจได้รับการกำหนดค่าผ่าน WEAVE_CONFIG_WDM_SUBSCRIBE_POOL_SIZE

kSubscriptionMgrTableSize

นี่คือขนาดเริ่มต้นของตารางการสมัครใช้บริการสำหรับผู้เผยแพร่โฆษณา WDM

ค่านี้สามารถกำหนดค่าผ่าน WEAVE_CONFIG_WDM_SUBSCRIPTION_MGR_TABLE_SIZE ได้

kTransactionTableSize

นี่คือขนาดเริ่มต้นของตารางการทำธุรกรรมในเครื่องมือโปรโตคอล WDM

ค่านี้จะกำหนดค่าผ่าน WEAVE_CONFIG_WDM_TRANSACTION_TABLE_SIZE

kUpdatePoolSize

นี่คือขนาดเริ่มต้นของพูลธุรกรรมคำขออัปเดตสำหรับไคลเอ็นต์ WDM

ค่านี้จะกำหนดค่าผ่าน WEAVE_CONFIG_WDM_UPDATE_POOL_SIZE

kViewPoolSize

นี่คือขนาดเริ่มต้นของพูลธุรกรรมคำขอดูสำหรับไคลเอ็นต์ WDM

ค่านี้จะกำหนดค่าผ่าน WEAVE_CONFIG_WDM_VIEW_POOL_SIZE

@167

 @167

ประเภทข้อความโปรไฟล์ WDM

ค่าเหล่านี้จะระบุไว้ในข้อกำหนดการจัดการข้อมูล

หมายเหตุ!! ตั้งแต่ไตรมาสที่ 1 ปี 2015 เราได้เลิกใช้งานประเภทข้อความที่ใช้ใน WDM เวอร์ชันก่อนหน้าและมีการกำหนดประเภทข้อความใหม่ ซึ่งแสดงให้เห็นถึงการเปลี่ยนแปลงที่เพียงพอกับรายละเอียดการบรรจุและการแยกวิเคราะห์ที่ผ่านมาเพื่อหยุดพักการใช้งานชั่วคราว

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

ยกเลิกข้อความคำขอสมัครใช้บริการ

kMsgType_CancelSubscriptionRequest_Deprecated

เลิกใช้งานแล้ว

kMsgType_NotifyRequest

แจ้งเตือนข้อความคำขอ

kMsgType_NotifyRequest_Deprecated

เลิกใช้งานแล้ว

kMsgType_SubscribeRequest

ข้อความคำขอติดตาม

kMsgType_SubscribeRequest_Deprecated

เลิกใช้งานแล้ว

kMsgType_SubscribeResponse

ติดตามข้อความตอบกลับ

kMsgType_SubscribeResponse_Deprecated

เลิกใช้งานแล้ว

kMsgType_UpdateRequest

อัปเดตข้อความคำขอ

kMsgType_UpdateRequest_Deprecated

เลิกใช้งานแล้ว

kMsgType_ViewRequest

ดูข้อความคำขอ

kMsgType_ViewRequest_Deprecated

เลิกใช้งานแล้ว

kMsgType_ViewResponse

ดูข้อความตอบกลับ

kMsgType_ViewResponse_Deprecated

เลิกใช้งานแล้ว

@168

 @168

ค่าคงที่เฉพาะ WDM เบ็ดเตล็ด

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

ดัชนีของการเชื่อมโยงเริ่มต้นในตารางการเชื่อมโยง Protocol Engine ที่มีมากกว่า 1 รายการ

kInstanceIdNotSpecified

ในการเรียกที่ต้องการข้อกำหนดอินสแตนซ์ของโปรไฟล์ จะระบุเป็น "ไม่มี"

โดยส่วนใหญ่แล้ว กรณีนี้หมายความว่าโปรไฟล์เพียงอินสแตนซ์เดียวในเอนทิตีที่เป็นปัญหา

kResponseTimeoutNotSpecified

ในวิธีการขอธุรกรรม แสดงว่าผู้โทรปฏิเสธที่จะระบุระยะหมดเวลา

โดยทั่วไปหมายความว่าคุณควรใช้ค่าเริ่มต้น

kTransactionIdNotSpecified

ในเมธอดและโครงสร้างข้อมูลที่ใช้รหัสธุรกรรม จะมีการระบุ "ไม่มี" หรือค่าไวลด์การ์ด

kVersionNotSpecified

ในการเรียกที่ต้องระบุเวอร์ชันของข้อมูล จะบ่งชี้ว่า "ไม่มีเวอร์ชันที่เฉพาะเจาะจง"

kWeaveTLVControlByteLen

ความยาวของไบต์ควบคุม TLV ซึ่งใช้ในเมธอดการสนับสนุนที่เข้ารหัสโครงสร้าง WDM ใน TLV

kWeaveTLVTagLen

ความยาวมาตรฐานในหน่วยไบต์ของแท็ก TLV ที่มีคุณสมบัติครบถ้วน ซึ่งใช้ในเมธอดการสนับสนุนที่เข้ารหัสโครงสร้าง WDM ใน TLV

@169

 @169

รหัสสถานะสำหรับ WDM โดยเฉพาะ

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

รหัสสถานะเดิมนี้หมายความว่ามีการยกเลิกการสมัครใช้บริการเรียบร้อยแล้ว

รหัสสถานะนี้หมายความว่าการสมัครใช้บริการถูกยกเลิกเรียบร้อยแล้ว

kStatus_IllegalReadRequest

รหัสสถานะเดิมนี้หมายความว่าโหนดที่ส่งคำขอเพื่ออ่านรายการข้อมูลบางรายการไม่มีสิทธิ์ในการดำเนินการดังกล่าว

รหัสสถานะนี้หมายความว่าโหนดที่ส่งคำขอเพื่ออ่านรายการข้อมูลบางรายการไม่มีสิทธิ์ในการดำเนินการดังกล่าว

kStatus_IllegalWriteRequest

รหัสสถานะเดิมนี้หมายความว่าโหนดที่ส่งคำขอเพื่อเขียนรายการข้อมูลหนึ่งๆ ไม่มีสิทธิ์ในการดำเนินการดังกล่าว

รหัสสถานะนี้หมายความว่าโหนดที่ส่งคำขอเพื่อเขียนรายการข้อมูลหนึ่งๆ ไม่มีสิทธิ์ในการดำเนินการดังกล่าว

kStatus_InvalidPath

รหัสสถานะเดิมนี้หมายความว่าเส้นทางจากรายการเส้นทางของเฟรมคำขอข้อมูลพร็อพเพอร์ตี้หรือเฟรมคำขออัปเดตไม่ตรงกับสคีมาแบบใช้พื้นที่ของโหนดของผู้ตอบ

รหัสสถานะนี้หมายความว่าเส้นทางจากรายการเส้นทางของเฟรมคำขอข้อมูลพร็อพเพอร์ตี้หรือเฟรมคำขออัปเดตไม่ตรงกับสคีมาแบบใช้พื้นที่ของโหนดของผู้ตอบ

kStatus_InvalidVersion

รหัสสถานะเดิมนี้หมายความว่าเวอร์ชันของข้อมูลที่รวมอยู่ในคำขออัปเดตไม่ตรงกับเวอร์ชันล่าสุดของผู้เผยแพร่โฆษณา จึงไม่สามารถนำการอัปเดตไปใช้ได้

รหัสสถานะนี้หมายความว่าเวอร์ชันของข้อมูลที่รวมอยู่ในคำขออัปเดตไม่ตรงกับเวอร์ชันล่าสุดของผู้เผยแพร่โฆษณา จึงไม่สามารถนำการอัปเดตไปใช้ได้

kStatus_UnknownTopic

รหัสสถานะเดิมนี้หมายความว่าตัวระบุหัวข้อที่ให้ไว้ในคำขอยกเลิกหรือการแจ้งเตือนไม่ตรงกับระยะเวลาการสมัครใช้บริการใดๆ ในโหนดที่ได้รับ

รหัสสถานะนี้หมายความว่าตัวระบุหัวข้อที่ให้ไว้ในคำขอยกเลิกหรือการแจ้งเตือนไม่ตรงกับระยะเวลาการสมัครใช้บริการใดๆ ในโหนดที่ได้รับ

kStatus_UnsupportedSubscriptionMode

รหัสสถานะเดิมนี้หมายความว่าอุปกรณ์ที่รับไม่รองรับโหมดของการสมัครใช้บริการที่ขอ

รหัสสถานะนี้หมายความว่าอุปกรณ์ที่รับไม่รองรับโหมดของการสมัครใช้บริการที่ขอ

@170

 @170

แท็กโปรโตคอลการจัดการข้อมูล

โปรโตคอลการจัดการข้อมูลจะกำหนดจำนวนแท็กที่จะใช้ในการแสดงข้อมูลโปรไฟล์ TLV

ตามปกติจะมีปัญหาด้านความเข้ากันได้ระหว่าง WDM ใหม่และเก่า ในช่วงเวลาเก่าๆ มีการใช้แท็กเหล่านี้ทั้งหมดเป็นเฉพาะโปรไฟล์ ซึ่งทำให้สูญเสียพื้นที่ ตอนนี้เราจะใช้แท็กบริบทหากเป็นไปได้ แต่เราจำเป็นต้องเก็บแท็กเก่าไว้ (และมีกลไกในการเข้ารหัสเส้นทางด้วย) ตามความเหมาะสม

แท็ก kTag_WDMDataListElementData ไม่มีการใช้งานในรุ่นก่อนหน้า และโค้ดถูกละเว้นโดยสิ้นเชิง เราจึงไม่จำเป็นต้องระบุเวอร์ชันที่เลิกใช้งานแล้ว

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

องค์ประกอบคือรายการโครงสร้างที่มีเส้นทาง เวอร์ชันที่ไม่บังคับ และองค์ประกอบข้อมูล

ประเภทแท็ก: ประเภทองค์ประกอบเฉพาะโปรไฟล์: การจัดการอาร์เรย์: ระดับบนสุด

kTag_WDMDataListElementData

องค์ประกอบจะแสดงข้อมูลที่ชี้ไปยังเส้นทางที่กำหนดและมีเวอร์ชันที่ระบุ

ประเภทแท็ก: ประเภทองค์ประกอบเฉพาะบริบท: การจัดการใดก็ได้: ต้องระบุ

kTag_WDMDataListElementData_Deprecated

เลิกใช้งานแล้ว

ประเภทแท็ก: ประเภทองค์ประกอบเฉพาะบริบท: การจัดการใดก็ได้: ต้องระบุ

kTag_WDMDataListElementPath

องค์ประกอบคือคอมโพเนนต์เส้นทางขององค์ประกอบรายการข้อมูล

ประเภทแท็ก: ประเภทองค์ประกอบเฉพาะบริบท: การจัดการเส้นทาง: ต้องระบุ

kTag_WDMDataListElementPath_Deprecated

เลิกใช้งานแล้ว

ประเภทแท็ก: ประเภทองค์ประกอบเฉพาะโปรไฟล์: การจัดการเส้นทาง: ต้องระบุ

kTag_WDMDataListElementVersion

องค์ประกอบนี้คือคอมโพเนนต์เวอร์ชันขององค์ประกอบรายการข้อมูล

ประเภทแท็ก: ประเภทองค์ประกอบเฉพาะบริบท: การจัดการจำนวนเต็ม: ต้องระบุ

kTag_WDMDataListElementVersion_Deprecated

เลิกใช้งานแล้ว

ประเภทแท็ก: ประเภทองค์ประกอบเฉพาะโปรไฟล์: การจัดการจำนวนเต็ม: ต้องระบุ

kTag_WDMPathArrayIndexSelector

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

ประเภทแท็ก: ประเภทองค์ประกอบเฉพาะโปรไฟล์: การจัดการจำนวนเต็ม: ไม่บังคับ

kTag_WDMPathArrayValueSelector

องค์ประกอบเส้นทางจะสอดคล้องกับอาร์เรย์ในสคีมา และจะใช้องค์ประกอบที่ปกปิดไว้เป็นตัวเลือกระเบียน

ประเภทแท็ก: ประเภทองค์ประกอบเฉพาะโปรไฟล์: การจัดการโครงสร้าง: ไม่บังคับ

kTag_WDMPathList

องค์ประกอบคือรายการเส้นทาง TLV

ประเภทแท็ก: ประเภทองค์ประกอบเฉพาะโปรไฟล์: การจัดการอาร์เรย์: ระดับบนสุด

kTag_WDMPathProfile

องค์ประกอบคือโครงสร้างที่ใช้ในการเริ่มต้นเส้นทางและเก็บข้อมูลโปรไฟล์ในการตีความแท็กในเส้นทาง

ประเภทแท็ก: ประเภทองค์ประกอบเฉพาะโปรไฟล์: การจัดการโครงสร้าง: จำเป็น

kTag_WDMPathProfileId

องค์ประกอบนี้คือคอมโพเนนต์รหัสโปรไฟล์ขององค์ประกอบโปรไฟล์เส้นทางที่เริ่มต้นเส้นทาง TLV

ประเภทแท็ก: ประเภทองค์ประกอบเฉพาะบริบท: การจัดการจำนวนเต็ม: ต้องระบุ

kTag_WDMPathProfileId_Deprecated

เลิกใช้งานแล้ว

ประเภทแท็ก: ประเภทองค์ประกอบเฉพาะโปรไฟล์: การจัดการจำนวนเต็ม: ต้องระบุ

kTag_WDMPathProfileInstance

องค์ประกอบนี้คืออินสแตนซ์ของโปรไฟล์ ซึ่งอาจเป็นไปตามรหัสโปรไฟล์ในเส้นทาง TLV

โปรดทราบว่าโหนดหนึ่งอาจมีหรือไม่มีอินสแตนซ์หลายรายการของโปรไฟล์หนึ่งๆ และในกรณีที่มีเพียงโหนดเดียว องค์ประกอบนี้อาจละเว้นได้

ประเภทแท็ก: ประเภทองค์ประกอบเฉพาะบริบท: การจัดการใดๆ: ไม่บังคับ

kTag_WDMPathProfileInstance_Deprecated

เลิกใช้งานแล้ว

ประเภทแท็ก: ประเภทองค์ประกอบเฉพาะโปรไฟล์: การจัดการใดๆ: ไม่บังคับ

@171

 @171

รหัสหัวข้อเฉพาะ

มีรหัสหัวข้อที่สนใจอยู่ 3 รหัส ซึ่งทั้ง 3 รหัสมีการจัดรูปแบบเป็น "เฉพาะสำหรับผู้เผยแพร่โฆษณา"

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

อีเมลนี้สงวนไว้สำหรับรหัสหัวข้อไวลด์การ์ด

kTopicIdNotSpecified

ค่านี้เป็นค่าพิเศษที่สงวนไว้เพื่อแสดงรหัสหัวข้อที่ไม่ถูกต้องหรือรหัสไวลด์การ์ด

kTopicIdPublisherSpecificMask

ค่านี้ใช้เป็นมาสก์ในการสร้างหรือแยกส่วนรหัสโทซี

WeaveTransportOption

 WeaveTransportOption

ตัวเลือกการขนส่ง WDM

ตัวเลือกเหล่านี้เป็นตัวเลือกการขนส่งสำหรับ WDM ที่แยกกัน

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

การรับส่งข้อมูลที่สำคัญคือ TCP

การเชื่อมโยงอาจดำเนินการโดยใช้ตัวจัดการบริการหรือการใช้ชั้นข้อความโดยตรงก็ได้

kTransport_UDP

การขนส่งที่สำคัญเป็นแบบ UDP เพียงอย่างเดียว

kTransport_WRMP

การนำส่งที่สำคัญเป็น UDP เท่านั้น แต่จะมีการปรับปรุงความน่าเชื่อถือ "เลเยอร์การสนับสนุนแอปพลิเคชัน"

Typedef

TopicIdentifier

uint64_t TopicIdentifier

ตัวระบุหัวข้อ

ตัวระบุหัวข้อคือจํานวน 64 บิตที่มีการใช้งาน/ความหมายที่เกี่ยวข้อง 2 รายการ อย่างแรกเลย เมตริกเหล่านี้อาจใช้เป็นชวเลขธรรมดาสำหรับชุดเส้นทางที่เป็นที่รู้จัก เช่น "ตัวตรวจจับควัน Nest" รหัสหัวข้อที่ใช้ในลักษณะนี้จะต้องมีรหัสผู้ให้บริการที่ป้องกันไม่ให้ผู้ให้บริการที่ต่างกันเลือกรหัสหัวข้อแยกกัน โดยรหัสดังกล่าว เช่น ตัวระบุโปรไฟล์ ดังนี้

บิต 48 - 63 0-47 บิต
รหัสตัวแทนจำหน่ายรายย่อย หมายเลขหัวข้อ
การใช้/ความหมายอย่างที่สองสำหรับตัวระบุหัวข้อเกิดขึ้นในกรณีของการสมัครรับข้อมูลแบบไดนามิกระหว่างไคลเอ็นต์ WDM กับผู้เผยแพร่ ในกรณีนี้ ผู้เผยแพร่จะต้องให้รหัสหัวข้อที่ไม่ซ้ำซึ่งย่อมาจากการสมัครรับข้อมูลที่เจาะจงเสมอ และจะทำเช่นนี้ได้ไม่ว่าจะขอการสมัครรับข้อมูลโดยใช้รหัสหัวข้อที่รู้จักกันดีหรือรายการเส้นทางที่กำหนดเอง ตัวระบุหัวข้อของแบบฟอร์มนี้มีความแตกต่างกันด้วยการมีรหัสผู้ให้บริการเป็น 0xFF

ดูเพิ่มเติม:
WeaveVendorIdentifiers.hpp

ฟังก์ชัน

CheckTLVType

bool CheckTLVType(
  nl::Weave::TLV::TLVType aType,
  nl::Weave::TLV::TLVReader & aReader
)

ตรวจสอบว่าองค์ประกอบ TLV ที่อ่านอยู่เป็นประเภท TLV ที่คาดไว้

ตรวจสอบประเภท TLV ที่ระบุเทียบกับประเภทองค์ประกอบที่ส่วนหัวของเครื่องอ่าน TLV

รายละเอียด
พารามิเตอร์
[in] aType
TLVType ที่ต้องตรวจสอบกับองค์ประกอบที่เฉพาะเจาะจง
[in] aReader
การอ้างอิงไปยังเครื่องอ่าน TLV ที่จัดวางไว้ในองค์ประกอบที่จะตรวจสอบ
การส่งคืน
True iff TLVType ขององค์ประกอบและ aType ที่ตรงกัน
ดูเพิ่มเติม
WeaveTLVTypes.h

CheckWDMTag

bool CheckWDMTag(
  uint32_t aTagNum,
  nl::Weave::TLV::TLVReader & aReader
)

ตรวจสอบแท็กเฉพาะ WDM

ตรวจสอบจำนวนแท็กที่ระบุ WDM จาก .../data-management/DMConstants.h เทียบกับแท็กจริงที่ส่วนหัวของเครื่องอ่าน TLV

รายละเอียด
พารามิเตอร์
[in] aTagNum
หมายเลขแท็กที่ต้องตรวจสอบกับองค์ประกอบ TLV ที่เฉพาะเจาะจง
[in] aReader
การอ้างอิงไปยังเครื่องอ่าน TLV ที่ชี้ไปยังองค์ประกอบที่ต้องตรวจสอบ
การส่งคืน
true iff aReader.GetTag() จะสร้างแท็กที่ตรงกับรูปแบบแท็กที่คาดไว้สำหรับหมายเลขแท็กที่ระบุ

CloseDataListElement

WEAVE_ERROR CloseDataListElement(
  nl::Weave::TLV::TLVReader & aReader
)

หยุดอ่านองค์ประกอบรายการข้อมูล WDM

เมธอดนี้จะถือว่าองค์ประกอบที่เป็นปัญหาเป็นส่วนหนึ่งของรายการข้อมูล WDM และจะส่ง kTLVType_Array ไปยัง ExitContainer()

รายละเอียด
พารามิเตอร์
[in,out] aReader
เครื่องอ่าน TLV ที่จัดวางไว้ในองค์ประกอบรายการข้อมูล WDM
การส่งคืน
WEAVE_NO_ERROR ด้วยความสําเร็จ ไม่เช่นนั้นจะแสดงผล WEAVE_ERROR ที่แสดงถึงการออกจากคอนเทนเนอร์ไม่ได้

CloseList

WEAVE_ERROR CloseList(
  nl::Weave::TLV::TLVReader & aReader
)

หยุดอ่านเส้นทางหรือรายการข้อมูล WDM

เมธอดนี้จะถือว่ารายการที่เป็นปัญหาเป็นองค์ประกอบ TLV ระดับบนสุดและจะส่งผ่าน kTLVType_Sructure ไปยัง ExitContainer()

รายละเอียด
พารามิเตอร์
[in,out] aReader
เครื่องอ่าน TLV ที่วางไว้ในเส้นทาง WDM หรือรายการข้อมูล
การส่งคืน
WEAVE_NO_ERROR ด้วยความสําเร็จ ไม่เช่นนั้นจะแสดงผล WEAVE_ERROR ที่แสดงถึงการออกจากคอนเทนเนอร์ไม่ได้

EncodeDeprecatedPath

WEAVE_ERROR EncodeDeprecatedPath(
  TLVWriter & aWriter,
  const uint64_t & aTag,
  uint32_t aProfileId,
  const uint64_t & aInstanceId,
  uint32_t aPathLen,
  ...
)

เข้ารหัสเส้นทาง WDM ด้วยแท็กที่เลิกใช้งานแล้วและรหัสอินสแตนซ์จำนวนเต็ม

หมายเหตุ: เข้ารหัสเส้นทางโดยใช้ชุดแท็กที่เลิกใช้แล้วซึ่งบริการยอมรับก่อน Weave รุ่น 2.0 เมธอดเวอร์ชันนี้จะใช้ตัวระบุอินสแตนซ์ที่เป็นตัวเลข วิธีนี้จะเริ่มต้นคอนเทนเนอร์ที่มี ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfile) จากนั้นจึงแทรกรหัสโปรไฟล์ด้วย ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileId_Deprecated) จากนั้นจะแทรกรหัสอินสแตนซ์ด้วย ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileInstance_Deprecated) นี่เป็นหนึ่งในเวอร์ชันที่เลิกใช้งานแล้วสำหรับการเข้ารหัสเส้นทาง และการออกแบบใหม่ควรหลีกเลี่ยงการใช้รูปแบบนี้

รายละเอียด
พารามิเตอร์
[in] aWriter
ข้อมูลอ้างอิงสำหรับผู้เขียน TLV ที่ใช้เขียนเส้นทาง
[in] aTag
การอ้างอิงไปยังแท็ก TLV ที่มีคุณสมบัติครบถ้วนซึ่งใช้กับเส้นทางนี้
[in] aProfileId
รหัสโปรไฟล์ที่อยู่ภายใต้องค์ประกอบของเส้นทางที่จะตีความ
[in] aInstanceId
การอ้างอิงไปยังรหัสอินสแตนซ์ที่ไม่บังคับของโปรไฟล์ที่จะใช้
[in] aPathLen
ความยาวของรายการองค์ประกอบเส้นทางอาจเป็น 0 นอกเหนือจากตัวระบุโปรไฟล์เริ่มต้น
[in] ...
รายการความยาวตัวแปรที่ไม่บังคับของแท็กเส้นทางเพิ่มเติม
การส่งคืน
WEAVE_NO_ERROR ด้วยความสําเร็จ ไม่เช่นนั้น แสดงผล WEAVE_ERROR ที่แสดงถึงไม่สามารถจัดรูปแบบเส้นทางที่ระบุ

EncodeDeprecatedPath

WEAVE_ERROR EncodeDeprecatedPath(
  TLVWriter & aWriter,
  const uint64_t & aTag,
  uint32_t aProfileId,
  const char *aInstanceId,
  uint32_t aPathLen,
  ...
)

เข้ารหัสเส้นทาง WDM ด้วยแท็กที่เลิกใช้งานแล้วและรหัสอินสแตนซ์สตริง

หมายเหตุ: เข้ารหัสเส้นทางโดยใช้ชุดแท็กที่เลิกใช้แล้ว (ดู DMConstants.h) เมธอดเวอร์ชันนี้จะใช้สตริงรหัสอินสแตนซ์ วิธีนี้จะเริ่มต้นคอนเทนเนอร์ที่มี ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfile) จากนั้นจึงแทรกรหัสโปรไฟล์ด้วย ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileId_Deprecated) จากนั้นจะแทรกรหัสอินสแตนซ์ด้วย ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileInstance_Deprecated) นี่เป็นหนึ่งในเวอร์ชันที่เลิกใช้งานแล้วสำหรับการเข้ารหัสเส้นทาง และการออกแบบใหม่ควรหลีกเลี่ยงการใช้รูปแบบนี้

รายละเอียด
พารามิเตอร์
[in] aWriter
ข้อมูลอ้างอิงสำหรับผู้เขียน TLV ที่ใช้เขียนเส้นทาง
[in] aTag
การอ้างอิงไปยังแท็ก TLV ที่มีคุณสมบัติครบถ้วนซึ่งใช้กับเส้นทางนี้
[in] aProfileId
รหัสโปรไฟล์ที่อยู่ภายใต้องค์ประกอบของเส้นทางที่จะตีความ
[in] aInstanceId
สตริงที่ไม่บังคับซึ่งใช้เป็นตัวระบุอินสแตนซ์ของโปรไฟล์ อาร์กิวเมนต์นี้อาจเป็นค่า NULL หากไม่ได้ระบุรหัสอินสแตนซ์
[in] aPathLen
ความยาวของรายการองค์ประกอบเส้นทางอาจเป็น 0 นอกเหนือจากตัวระบุโปรไฟล์เริ่มต้น
[in] ...
รายการความยาวแปรผัน (ไม่บังคับ) ของแท็กเส้นทางเพิ่มเติม
การส่งคืน
WEAVE_NO_ERROR ด้วยความสําเร็จ ไม่เช่นนั้น แสดงผล WEAVE_ERROR ที่แสดงถึงไม่สามารถจัดรูปแบบเส้นทางที่ระบุ

EncodePath

WEAVE_ERROR EncodePath(
  TLVWriter & aWriter,
  const uint64_t & aTag,
  uint32_t aProfileId,
  const uint64_t & aInstanceId,
  uint32_t aPathLen,
  ...
)

เข้ารหัสเส้นทาง WDM ด้วยรหัสอินสแตนซ์ของโปรไฟล์จำนวนเต็ม

หมายเหตุ: เขียนเส้นทาง TLV ของชนิดที่ใช้ในการจัดการข้อมูลโดยมีการระบุโปรไฟล์ไว้ที่ตอนต้นเพื่อให้สามารถตีความองค์ประกอบเส้นทางที่ตามมาได้ เมธอดเวอร์ชันนี้จะใช้รหัสอินสแตนซ์ของโปรไฟล์จำนวนเต็ม

วิธีนี้จะแทรกรหัสอินสแตนซ์โดยใช้ ContextTag(kTag_WDMPathProfileInstance) ซึ่งเป็นเวอร์ชันล่าสุดสำหรับการเข้ารหัสเส้นทาง

รายละเอียด
พารามิเตอร์
[in] aWriter
ข้อมูลอ้างอิงสำหรับผู้เขียน TLV ที่ใช้เขียนเส้นทาง
[in] aTag
การอ้างอิงไปยังแท็ก TLV ที่มีคุณสมบัติครบถ้วนซึ่งใช้กับเส้นทางนี้
[in] aProfileId
รหัสโปรไฟล์ที่อยู่ภายใต้องค์ประกอบของเส้นทางที่จะตีความ
[in] aInstanceId
การอ้างอิงไปยังตัวระบุอินสแตนซ์ที่ไม่บังคับของโปรไฟล์ที่จะใช้ หากไม่มีการใช้รหัสอินสแตนซ์ พารามิเตอร์นี้ควรมีค่า kInstanceIdNotSpecified
[in] aPathLen
ความยาวของรายการองค์ประกอบเส้นทางอาจเป็น 0 นอกเหนือจากตัวระบุโปรไฟล์เริ่มต้น
[in] ...
รายการความยาวตัวแปรที่ไม่บังคับของแท็กเส้นทางเพิ่มเติม
การส่งคืน
WEAVE_NO_ERROR ด้วยความสําเร็จ ไม่เช่นนั้น แสดงผล WEAVE_ERROR ที่แสดงถึงไม่สามารถจัดรูปแบบเส้นทางที่ระบุ

EncodePath

WEAVE_ERROR EncodePath(
  TLVWriter & aWriter,
  const uint64_t & aTag,
  uint32_t aProfileId,
  const uint32_t aInstanceIdLen,
  const uint8_t *aInstanceId,
  uint32_t aPathLen,
  ...
)

เข้ารหัสเส้นทาง WDM ด้วยรหัสอินสแตนซ์อาร์เรย์แบบไบต์

หมายเหตุ: เขียนเส้นทาง TLV ของชนิดที่ใช้ในการจัดการข้อมูลโดยมีการระบุโปรไฟล์ไว้ที่ตอนต้นเพื่อให้สามารถตีความองค์ประกอบเส้นทางที่ตามมาได้ เมธอดเวอร์ชันนี้จะใช้รหัสอินสแตนซ์ของโปรไฟล์อาร์เรย์แบบไบต์พร้อมความยาว

วิธีนี้จะแทรกรหัสอินสแตนซ์โดยใช้ ContextTag(kTag_WDMPathProfileInstance) ซึ่งเป็นเวอร์ชันล่าสุดสำหรับการเข้ารหัสเส้นทาง

รายละเอียด
พารามิเตอร์
[in] aWriter
ข้อมูลอ้างอิงสำหรับผู้เขียน TLV ที่ใช้เขียนเส้นทาง
[in] aTag
การอ้างอิงไปยังแท็ก TLV ที่มีคุณสมบัติครบถ้วนซึ่งใช้กับเส้นทางนี้
[in] aProfileId
รหัสโปรไฟล์ที่อยู่ภายใต้องค์ประกอบของเส้นทางที่จะตีความ
[in] aInstanceIdLen
ความยาวของอาร์เรย์ไบต์ที่ประกอบขึ้นเป็นรหัสอินสแตนซ์ หากไม่มีรหัส พารามิเตอร์นี้จะมีค่าเป็น 0
[in] aInstanceId
อาร์เรย์ไบต์ที่ไม่บังคับซึ่งใช้เป็นตัวระบุอินสแตนซ์ของโปรไฟล์ อาร์กิวเมนต์นี้อาจเป็นค่า NULL ในกรณีที่ไม่ได้ระบุรหัสอินสแตนซ์
[in] aPathLen
ความยาวของรายการองค์ประกอบเส้นทางอาจเป็น 0 นอกเหนือจากตัวระบุโปรไฟล์เริ่มต้น
[in] ...
รายการความยาวแปรผัน (ไม่บังคับ) ของแท็กเส้นทางเพิ่มเติม
การส่งคืน
WEAVE_NO_ERROR ด้วยความสําเร็จ ไม่เช่นนั้น แสดงผล WEAVE_ERROR ที่แสดงถึงไม่สามารถจัดรูปแบบเส้นทางที่ระบุ

EncodePath

WEAVE_ERROR EncodePath(
  TLVWriter & aWriter,
  const uint64_t & aTag,
  uint32_t aProfileId,
  const char *aInstanceId,
  uint32_t aPathLen,
  ...
)

เข้ารหัสเส้นทาง WDM ด้วยรหัสอินสแตนซ์สตริง

หมายเหตุ: เขียนเส้นทาง TLV ของชนิดที่ใช้ในการจัดการข้อมูลโดยมีการระบุโปรไฟล์ไว้ที่ตอนต้นเพื่อให้สามารถตีความองค์ประกอบเส้นทางที่ตามมาได้ เมธอดเวอร์ชันนี้จะใช้รหัสอินสแตนซ์ของโปรไฟล์สตริง

วิธีนี้จะแทรกรหัสอินสแตนซ์โดยใช้ ContextTag(kTag_WDMPathProfileInstance) ซึ่งเป็นเวอร์ชันล่าสุดสำหรับการเข้ารหัสเส้นทาง

รายละเอียด
พารามิเตอร์
[in] aWriter
ข้อมูลอ้างอิงสำหรับผู้เขียน TLV ที่ใช้เขียนเส้นทาง
[in] aTag
การอ้างอิงไปยังแท็ก TLV ที่มีคุณสมบัติครบถ้วนซึ่งใช้กับเส้นทางนี้
[in] aProfileId
รหัสโปรไฟล์ที่อยู่ภายใต้องค์ประกอบของเส้นทางที่จะตีความ
[in] aInstanceId
สตริงที่ไม่บังคับซึ่งใช้เป็นตัวระบุอินสแตนซ์ของโปรไฟล์ อาร์กิวเมนต์นี้อาจเป็นค่า NULL หากไม่ได้ระบุรหัสอินสแตนซ์
[in] aPathLen
ความยาวของรายการองค์ประกอบเส้นทางอาจเป็น 0 นอกเหนือจากตัวระบุโปรไฟล์เริ่มต้น
[in] ...
รายการความยาวแปรผัน (ไม่บังคับ) ของแท็กเส้นทางเพิ่มเติม
การส่งคืน
WEAVE_NO_ERROR ด้วยความสําเร็จ ไม่เช่นนั้น แสดงผล WEAVE_ERROR ที่แสดงถึงไม่สามารถจัดรูปแบบเส้นทางที่ระบุ

EndDataListElement

WEAVE_ERROR EndDataListElement(
  nl::Weave::TLV::TLVWriter & aWriter
)

เขียนองค์ประกอบรายการข้อมูลให้เสร็จ

เขียน TLV สำหรับส่วนท้ายขององค์ประกอบรายการข้อมูล WDM โปรดทราบว่าการดำเนินการนี้จะส่งผ่านในประเภท kTLVType_Array ไปยังการเรียกใช้ EndContainer() โดยอัตโนมัติ สมมติว่าเราจะปิดรายการในลิสต์เสมอ

รายละเอียด
พารามิเตอร์
[in] aWriter
การอ้างอิงถึงผู้เขียน TLV ที่จะเขียนตอนท้ายของรายการ
การส่งคืน
WEAVE_NO_ERROR ด้วยความสําเร็จ มิเช่นนั้น จะแสดงผล WEAVE_ERROR ซึ่งแสดงถึงความไม่สามารถยุติคอนเทนเนอร์

EndEncodePath

WEAVE_ERROR EndEncodePath(
  TLVWriter & aWriter,
  TLVType & mOuterContainer,
  WEAVE_ERROR mError
)

EndList

WEAVE_ERROR EndList(
  nl::Weave::TLV::TLVWriter & aWriter
)

เขียนรายการเส้นทางหรือรายการข้อมูลให้เสร็จ

เขียน TLV สำหรับส่วนท้ายของเส้นทาง WDM หรือรายการข้อมูล แล้วสรุปผู้เขียนด้วย

รายละเอียด
พารามิเตอร์
[in,out] aWriter
การอ้างอิงถึงผู้เขียน TLV ที่จะเขียนต่อท้ายรายการ
การส่งคืน
WEAVE_NO_ERROR ด้วยความสําเร็จ มิเช่นนั้น จะแสดงผล WEAVE_ERROR ซึ่งแสดงถึงความไม่สามารถยุติคอนเทนเนอร์

EndList

WEAVE_ERROR EndList(
  ReferencedTLVData & aList,
  nl::Weave::TLV::TLVWriter & aWriter
)

เขียนรายการเส้นทางหรือรายการข้อมูลให้เสร็จ

เขียน TLV สำหรับส่วนท้ายของเส้นทาง WDM หรือรายการข้อมูล แล้วสรุปผู้เขียนด้วย ในกรณีนี้ ออบเจ็กต์ ReferencedTLVData ที่กำลังเขียน TLV อยู่จะได้รับการส่งและแก้ไขเพื่อให้สอดคล้องกับจำนวนข้อมูลที่เขียน

รายละเอียด
พารามิเตอร์
[in,out] aList
การอ้างอิงไปยังออบเจ็กต์ ReferenceTLVData ที่มีการเขียนรายการ
[in] aWriter
การอ้างอิงถึงผู้เขียน TLV ที่จะเขียนต่อท้ายรายการ
การส่งคืน
WEAVE_NO_ERROR ด้วยความสําเร็จ มิเช่นนั้น จะแสดงผล WEAVE_ERROR ซึ่งแสดงถึงความไม่สามารถยุติคอนเทนเนอร์

IsPublisherSpecific

bool IsPublisherSpecific(
  const TopicIdentifier & aTopicId
)

ตรวจสอบว่ารหัสหัวข้อมีไว้สำหรับผู้เผยแพร่โฆษณาโดยเฉพาะหรือไม่

รายละเอียด
พารามิเตอร์
[in] aTopicId
ไม่ตรวจสอบตัวระบุหัวข้อ
การส่งคืน
true ถ้ารหัสหัวข้อเป็นรหัสเฉพาะผู้เผยแพร่โฆษณา หากไม่เป็นเช่นนั้นจะเป็นเท็จ

OpenDataList

WEAVE_ERROR OpenDataList(
  ReferencedTLVData & aDataList,
  nl::Weave::TLV::TLVReader & aReader
)

เริ่มอ่านรายการข้อมูล

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

รายละเอียด
พารามิเตอร์
[in] aDataList
รายการข้อมูลที่ส่งผ่านเป็นการอ้างอิงไปยังออบเจ็กต์ ReferencedTLVData กรณีการใช้งานปกติจะเป็นกรณีที่รายการยังคงอยู่ในบัฟเฟอร์หลังจากได้รับ
[out] aReader
การอ้างอิงไปยังเครื่องอ่าน TLV ที่ใช้อ่านรายการข้อมูล เครื่องอ่านนี้จะชี้ไปหน้ารายการแรกในลิสต์
การส่งคืน
WEAVE_NO_ERROR ด้วยความสําเร็จ มิฉะนั้น จะแสดงผล WEAVE_ERROR ที่แสดงถึงความล้มเหลวในรายการข้อมูล และ/หรือตรวจสอบแท็กและประเภทที่เกี่ยวข้อง

OpenDataListElement

WEAVE_ERROR OpenDataListElement(
  nl::Weave::TLV::TLVReader & aReader,
  nl::Weave::TLV::TLVReader & aPathReader,
  uint64_t & aVersion
)

เริ่มอ่านองค์ประกอบรายการข้อมูล

เมื่อวางเครื่องอ่านไว้ที่องค์ประกอบรายการข้อมูล ให้เริ่มอ่านองค์ประกอบและตรวจสอบแท็กและประเภทที่พบในตอนแรกในกระบวนการ หากทั้งหมดเป็นไปด้วยดี เครื่องอ่านจะอยู่ในตำแหน่งที่ข้อมูลองค์ประกอบข้อมูล และเครื่องอ่านเส้นทางเข้า/ออกจะอยู่ในเส้นทางที่เกี่ยวข้อง

รายละเอียด
พารามิเตอร์
[in] aReader
การอ้างอิงไปยังเครื่องอ่าน TLV ที่วางไว้ในองค์ประกอบรายการข้อมูล
[out] aPathReader
การอ้างอิงไปยังเครื่องอ่าน TLV ที่จะชี้ไปยังคอมโพเนนต์เส้นทางขององค์ประกอบรายการข้อมูล
[out] aVersion
การอ้างอิงไปยังจำนวนเต็ม 64 บิตที่จะตั้งค่าเป็นเวอร์ชันขององค์ประกอบรายการข้อมูลหากมีอยู่หรือมีค่าเป็น kVersionNotSpecified
การส่งคืน
WEAVE_NO_ERROR หรือ WEAVE_ERROR ที่เกี่ยวข้องกับการเปิดและอ่านองค์ประกอบรายการข้อมูล

OpenPathList

WEAVE_ERROR OpenPathList(
  ReferencedTLVData & aPathList,
  nl::Weave::TLV::TLVReader & aReader
)

เริ่มอ่านรายการเส้นทาง

เริ่มอ่านรายการและตรวจสอบแท็กและประเภทที่พบในตอนเริ่มต้นกระบวนการโดยใช้โปรแกรมอ่านใหม่และรายการเส้นทาง หากทุกอย่างถูกต้อง เครื่องอ่านจะหยุดหลังจากป้อนที่เก็บรายการแล้ว

รายละเอียด
พารามิเตอร์
[in] aPathList
รายการเส้นทางที่ส่งผ่านเป็นการอ้างอิงไปยังออบเจ็กต์ ReferencedTLVData กรณีการใช้งานปกติจะเป็นกรณีที่รายการยังคงอยู่ในบัฟเฟอร์หลังจากได้รับ
[out] aReader
การอ้างอิงไปยังเครื่องอ่าน TLV ที่ใช้อ่านรายการเส้นทาง เครื่องอ่านนี้จะถูกชี้ไปทางซ้ายก่อนเส้นทางแรกในรายการ
การส่งคืน
WEAVE_NO_ERROR หรือข้อผิดพลาด WEAVE_ERROR ซึ่งแสดงความล้มเหลวในการเปิดรายการเส้นทางและ/หรือตรวจสอบแท็กและประเภทที่เกี่ยวข้อง

PublisherSpecificTopicId

TopicIdentifier PublisherSpecificTopicId(
  void
)

สร้างรหัสหัวข้อเฉพาะผู้เผยแพร่โฆษณาใหม่ตั้งแต่ต้น

รายละเอียด
การส่งคืน
ตัวระบุหัวข้อใหม่

SendStatusReport

WEAVE_ERROR SendStatusReport(
  ExchangeContext *aExchangeCtx,
  StatusReport & aStatus
)

StartDataList

WEAVE_ERROR StartDataList(
  nl::Weave::TLV::TLVWriter & aWriter
)

เริ่มเขียนรายการข้อมูล

เขียน TLV สำหรับจุดเริ่มต้นของรายการข้อมูล WDM เช่น เป็นอาร์กิวเมนต์หลักของ UpdateRequest()

รายละเอียด
พารามิเตอร์
[in] aWriter
การอ้างอิงถึงผู้เขียน TLV เพื่อเริ่มเขียน
การส่งคืน
WEAVE_NO_ERROR ด้วยความสําเร็จ ไม่เช่นนั้นจะส่งกลับ WEAVE_ERROR ที่แสดงถึงไม่สามารถเริ่มต้นคอนเทนเนอร์

StartDataList

WEAVE_ERROR StartDataList(
  ReferencedTLVData & aDataList,
  nl::Weave::TLV::TLVWriter & aWriter
)

เริ่มเขียนรายการข้อมูลลงในออบเจ็กต์ ReferencedTLVData ที่กำหนด

เขียน TLV สำหรับจุดเริ่มต้นของรายการข้อมูล WDM ในกรณีนี้ เราจะเขียนรายการข้อมูลลงในโครงสร้างข้อมูล TLV ที่อ้างอิง ผู้เขียนจะต้องไม่มีค่าเริ่มต้น หรือไม่ว่าในกรณีใด จะถูกเริ่มต้นให้ชี้ไปยังออบเจ็กต์ที่ระบุ

รายละเอียด
พารามิเตอร์
[out] aDataList
การอ้างอิงไปยังออบเจ็กต์ ReferencedTLVData ที่จะเป็นเป้าหมายของผู้เขียน และมีข้อมูลที่สนใจในท้ายที่สุด
[in] aWriter
การอ้างอิงถึงผู้เขียน TLV เพื่อเริ่มเขียน
การส่งคืน
WEAVE_NO_ERROR ด้วยความสําเร็จ ไม่เช่นนั้นจะส่งกลับ WEAVE_ERROR ที่แสดงถึงไม่สามารถเริ่มต้นคอนเทนเนอร์

StartDataListElement

WEAVE_ERROR StartDataListElement(
  nl::Weave::TLV::TLVWriter & aWriter
)

เริ่มเขียนองค์ประกอบรายการข้อมูล

เขียน TLV สำหรับจุดเริ่มต้นขององค์ประกอบรายการข้อมูล WDM

รายละเอียด
พารามิเตอร์
[in] aWriter
การอ้างอิงถึงผู้เขียน TLV เพื่อเริ่มเขียน
การส่งคืน
WEAVE_NO_ERROR ด้วยความสําเร็จ ไม่เช่นนั้นจะส่งกลับ WEAVE_ERROR ที่แสดงถึงไม่สามารถเริ่มต้นคอนเทนเนอร์

StartEncodePath

WEAVE_ERROR StartEncodePath(
  TLVWriter & aWriter,
  const uint64_t & aTag,
  uint32_t aProfileId,
  TLVType & mOuterContainer,
  TLVType & mPath
)

StartPathList

WEAVE_ERROR StartPathList(
  nl::Weave::TLV::TLVWriter & aWriter
)

เริ่มเขียนรายการเส้นทาง

เขียน TLV สำหรับจุดเริ่มต้นของรายการเส้นทาง WDM เช่น เป็นอาร์กิวเมนต์หลักของ ViewRequest()

รายละเอียด
พารามิเตอร์
[in] aWriter
การอ้างอิงถึงผู้เขียน TLV เพื่อเริ่มเขียน
การส่งคืน
WEAVE_NO_ERROR ด้วยความสําเร็จ ไม่เช่นนั้นจะส่งกลับ WEAVE_ERROR ที่แสดงถึงไม่สามารถเริ่มต้นคอนเทนเนอร์

TxnResponseHandler

void TxnResponseHandler(
  ExchangeContext *anExchangeCtx,
  const IPPacketInfo *anAddrInfo,
  const WeaveMessageInfo *aMsgInfo,
  uint32_t aProfileId,
  uint8_t aMsgType,
  PacketBuffer *aMsg
)

TxnTimeoutHandler

void TxnTimeoutHandler(
  ExchangeContext *anExchangeCtx
)

ValidateTLVType

WEAVE_ERROR ValidateTLVType(
  nl::Weave::TLV::TLVType aType,
  nl::Weave::TLV::TLVReader & aReader
)

ตรวจสอบว่าองค์ประกอบ TLV ที่อ่านอยู่เป็นประเภท TLV ที่คาดไว้

ตรวจสอบประเภท TLV ที่ระบุกับประเภทองค์ประกอบที่ส่วนหัวของเครื่องอ่าน TLV และแสดงผลข้อผิดพลาดหากไม่มีรายการที่ตรงกัน

รายละเอียด
พารามิเตอร์
[in] aType
TLVType ที่ต้องตรวจสอบกับองค์ประกอบที่เฉพาะเจาะจง
[in] aReader
การอ้างอิงไปยังเครื่องอ่าน TLV ที่วางไว้ในองค์ประกอบที่จะตรวจสอบ
การส่งคืน
WEAVE_NO_ERROR หากมีข้อมูลตรงกัน หรือ WEAVE_ERROR_WRONG_TLV_TYPE หากไม่มี
ดูเพิ่มเติม
WeaveTLVTypes.h

ValidateWDMTag

WEAVE_ERROR ValidateWDMTag(
  uint32_t aTagNum,
  nl::Weave::TLV::TLVReader & aReader
)

ตรวจสอบว่าองค์ประกอบ TLV ที่อ่านอยู่มีแท็ก WDM ที่คาดไว้

รายละเอียด
พารามิเตอร์
[in] aTagNum
หมายเลขแท็ก 32 บิตของแท็ก WDM ที่คาดไว้
[in] aReader
เครื่องอ่าน TLV ที่จัดวางไว้ในองค์ประกอบที่จะตรวจสอบ
การส่งคืน
WEAVE_NO_ERROR ด้วยความสําเร็จ ไม่เช่นนั้นจะใช้ WEAVE_ERROR_INVALID_TLV_TAG หากแท็กไม่ตรงกับหมายเลขแท็กที่ระบุเมื่อตีความเป็นแท็ก WDM