nl:: Weave:: Profiles:: DataManagement_Current:: ResourceIdentifier
#include <src/lib/profiles/data-management/Current/ResourceIdentifier.h>
โครงสร้างที่ห่อหุ้มรหัสทรัพยากร
สรุป
ResourceIdentifier อาจเป็นรหัสออบเจ็กต์ 64 บิตทั่วไปของประเภทหนึ่งๆ หรือ UUID ก็ได้ เมื่อเข้ารหัสจากภายนอก ระบบจะรองรับการแทนต่อไปนี้
จำนวนเต็ม 64 บิตที่ไม่มีเครื่องหมายซึ่งสัมพันธ์กับวัตถุทั่วไปของประเภท DEVICE พร้อมด้วยรหัสที่ระบุในการนำเสนอ
การนำเสนอทั่วไปซึ่งเข้ารหัสเป็นสตริงไบต์ที่มี 10 อ็อกเท็ต อ็อกเท็ตสองชุดแรกจะเข้ารหัสประเภททรัพยากรเป็นจำนวนเต็ม 16 บิต, เอนเดียนขนาดเล็ก โดย 8 ไบต์ที่เหลือจะเข้ารหัสรหัสทรัพยากรแบบ Endian 64 บิต
ResourceIdentifier ยังนำเสนอรูปแบบที่มีอยู่ทั่วทั้งโค้ด WDM นั่นคือ ResourceIdentifier ที่ว่างเปล่าจะสอดคล้องกับรหัสโหนดของ DEVICE และเครื่องมือสร้างนั้นมีให้สำหรับ Use Case ที่พบบ่อยที่สุด
ผู้ผลิตและผู้ทำลาย |
|
---|---|
ResourceIdentifier()
สร้าง ResourceIdentifier ที่สอดคล้องกับ ResourceID ที่ไม่ระบุ
|
|
ResourceIdentifier(const uint64_t & aNodeId)
สร้าง ResourceIdentifier ของประเภท DEVICE ตาม aNodeId ที่ระบุ
|
|
ResourceIdentifier(uint16_t aResourceType, const uint64_t & aResourceId)
สร้าง ResourceIdentifier ของประเภทที่ระบุโดยใช้รหัสดังกล่าว
|
|
ResourceIdentifier(uint16_t aResourceType, const uint8_t *aResourceId, size_t aResourceIdLen)
สร้าง ResourceIdentifier ของประเภทที่ระบุโดยใช้รหัสดังกล่าว
|
ประเภทสาธารณะ |
|
---|---|
@125{
|
enum |
@126
|
enum กำหนดค่าพิเศษสำหรับ NodeId ที่กล่าวถึง "ตัวเอง" |
@127
|
enum |
แอตทริบิวต์สาธารณะ |
|
---|---|
ResourceId
|
uint64_t
|
ResourceIdBytes[8]
|
uint8_t
|
ฟังก์ชันสาธารณะ |
|
---|---|
FromString(const char *inBuffer, size_t inBufferLen)
|
แยกวิเคราะห์การแสดงสตริง Canonical ของทรัพยากรในออบเจ็กต์ทรัพยากร
|
FromString(const char *inBuffer, size_t inBufferLen, const uint64_t & aSelfNodeId)
|
แยกวิเคราะห์การแสดงสตริง Canonical ของทรัพยากรในออบเจ็กต์ทรัพยากร
|
FromTLV(nl::Weave::TLV::TLVReader & aReader)
|
ดีซีเรียลไลซ์ ResourceIdentifier จากการนำเสนอ TLV ลงในออบเจ็กต์นี้
|
FromTLV(nl::Weave::TLV::TLVReader & aReader, const uint64_t & aSelfNodeId)
|
ดีซีเรียลไลซ์ ResourceIdentifier จากการนำเสนอ TLV ลงในออบเจ็กต์นี้
|
GetResourceId() const
|
uint64_t
ฟังก์ชันตัวเข้าถึงสำหรับดึงข้อมูล ResourceId
|
GetResourceType() const
|
uint16_t
ฟังก์ชันตัวเข้าถึงสำหรับการดึงข้อมูล ResourceType
|
ResourceTypeAsString(void) const
|
const char *
สร้างการแสดงสตริงของ ResourceType
|
ToString(char *buffer, size_t bufferLen)
|
แปลง ResourceIdentifier เป็นสตริงที่พิมพ์ได้
|
ToTLV(nl::Weave::TLV::TLVWriter & aWriter) const
|
ทำให้ทรัพยากรเป็นอนุกรมให้กับการนำเสนอ TLV โดยใช้แท็ก Context Path::ResourceID
|
ToTLV(nl::Weave::TLV::TLVWriter & aWriter, const uint64_t & aTag) const
|
ทำให้ทรัพยากรเป็นอนุกรมให้กับการนำเสนอ TLV โดยใช้แท็กที่กำหนด
|
ฟังก์ชันสาธารณะแบบคงที่ |
|
---|---|
ResourceTypeAsString(uint16_t aResourceType)
|
const char *
สร้างการแสดงสตริงของประเภททรัพยากร
|
ชั้นเรียนของเพื่อน |
|
---|---|
operator==
|
friend bool
|
ประเภทสาธารณะ
@125
@125
พร็อพเพอร์ตี้ | |
---|---|
RESOURCE_TYPE_RESERVED
|
ประเภททรัพยากรที่สงวนไว้ มีการเลือก enum ไม่ให้ขัดแย้งกับค่า enum จากสคีมา::Weave:::Common::ResourceType enums ขณะนี้ค่า ResourceId ใช้ได้ 2 ค่าสำหรับประเภททรัพยากรที่สงวนไว้ ซึ่งได้แก่ kNodeIdNotSpecified ที่สอดคล้องกับ ResourceIdentifier เดียว และ SELF_NODE_ID จะสอดคล้องกับทรัพยากรที่จะแมปกับ SELF อีกครั้งจากการนำเสนออื่นๆ |
@126
@126
กำหนดค่าพิเศษสำหรับ NodeId ที่กล่าวถึง "ตัวเอง"
ในการโต้ตอบ WDM บางอย่าง การมีค่าตัวเองสำหรับทรัพยากรจะทำให้บีบอัดข้อมูลนั้นได้ เนื่องจากจะซ้ำซ้อนกับรหัสโหนดต้นทางของอุปกรณ์ที่แสดงใน Weave ข้อความเอง
@127
@127
แอตทริบิวต์สาธารณะ
รหัสทรัพยากร
uint64_t ResourceId
ResourceIdBytes
uint8_t ResourceIdBytes[8]
ฟังก์ชันสาธารณะ
FromString
WEAVE_ERROR FromString( const char *inBuffer, size_t inBufferLen )
แยกวิเคราะห์การแสดงสตริง Canonical ของทรัพยากรในออบเจ็กต์ทรัพยากร
แปลงการแสดงสตริงรูปแบบบัญญัติของทรัพยากรเป็นออบเจ็กต์ทรัพยากร โปรดทราบว่ามีเพียงชุดย่อยของทรัพยากรเท่านั้นที่แสดงเป็นสตริงได้ โดยเฉพาะการใช้การอ้างอิงใน Weave จะแยกวิเคราะห์เฉพาะทรัพยากรของประเภท Canonical ตามที่แสดงใน ResourceTypeEnum
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
FromString
WEAVE_ERROR FromString( const char *inBuffer, size_t inBufferLen, const uint64_t & aSelfNodeId )
แยกวิเคราะห์การแสดงสตริง Canonical ของทรัพยากรในออบเจ็กต์ทรัพยากร
แปลงการแสดงสตริงรูปแบบบัญญัติของทรัพยากรเป็นออบเจ็กต์ทรัพยากร โปรดทราบว่ามีเพียงชุดย่อยของทรัพยากรเท่านั้นที่แสดงเป็นสตริงได้ โดยเฉพาะการใช้การอ้างอิงใน Weave จะแยกวิเคราะห์เฉพาะทรัพยากรของประเภท Canonical ตามที่แสดงใน ResourceTypeEnum
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
FromTLV
WEAVE_ERROR FromTLV( nl::Weave::TLV::TLVReader & aReader )
ดีซีเรียลไลซ์ ResourceIdentifier จากการนำเสนอ TLV ลงในออบเจ็กต์นี้
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
||
การคืนสินค้า |
WEAVE_NO_ERROR สำเร็จแล้ว ข้อผิดพลาดจาก TLVReader หากอ่าน ResourceIdentifier ได้ไม่ถูกต้อง
|
FromTLV
WEAVE_ERROR FromTLV( nl::Weave::TLV::TLVReader & aReader, const uint64_t & aSelfNodeId )
ดีซีเรียลไลซ์ ResourceIdentifier จากการนำเสนอ TLV ลงในออบเจ็กต์นี้
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
||||
การคืนสินค้า |
WEAVE_NO_ERROR สำเร็จแล้ว ข้อผิดพลาดจาก TLVReader หากอ่าน ResourceIdentifier ได้ไม่ถูกต้อง
|
GetResourceId
uint64_t GetResourceId() const
ฟังก์ชันตัวเข้าถึงสำหรับดึงข้อมูล ResourceId
GetResourceType
uint16_t GetResourceType() const
ฟังก์ชันตัวเข้าถึงสำหรับการดึงข้อมูล ResourceType
ResourceIdentifier
ResourceIdentifier()
สร้าง ResourceIdentifier ที่สอดคล้องกับ ResourceID ที่ไม่ระบุ
รหัสทรัพยากรที่ไม่ระบุคือ Tuple ที่ประกอบด้วยประเภททรัพยากรที่สงวนไว้พร้อมกับทรัพยากร kNodeIdNotSpeficied
ResourceIdentifier
ResourceIdentifier( const uint64_t & aNodeId )
สร้าง ResourceIdentifier ของประเภท DEVICE ตาม aNodeId ที่ระบุ
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
ResourceIdentifier
ResourceIdentifier( uint16_t aResourceType, const uint64_t & aResourceId )
สร้าง ResourceIdentifier ของประเภทที่ระบุโดยใช้รหัสดังกล่าว
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
ResourceIdentifier
ResourceIdentifier( uint16_t aResourceType, const uint8_t *aResourceId, size_t aResourceIdLen )
สร้าง ResourceIdentifier ของประเภทที่ระบุโดยใช้รหัสดังกล่าว
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
ResourceTypeAsString
const char * ResourceTypeAsString( void ) const
สร้างการแสดงสตริงของ ResourceType
ประเภททรัพยากรที่แปลงคือประเภทที่ระบุไว้ใน ResourceTypeEnum.h และ 0 (ตรงกับ RESOURCE_TYPE_RESERVED)
ToString
WEAVE_ERROR ToString( char *buffer, size_t bufferLen )
แปลง ResourceIdentifier เป็นสตริงที่พิมพ์ได้
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
ToTLV
WEAVE_ERROR ToTLV( nl::Weave::TLV::TLVWriter & aWriter ) const
ทำให้ทรัพยากรเป็นอนุกรมให้กับการนำเสนอ TLV โดยใช้แท็ก Context Path::ResourceID
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
ToTLV
WEAVE_ERROR ToTLV( nl::Weave::TLV::TLVWriter & aWriter, const uint64_t & aTag ) const
ทำให้ทรัพยากรเป็นอนุกรมให้กับการนำเสนอ TLV โดยใช้แท็กที่กำหนด
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
ฟังก์ชันสาธารณะแบบคงที่
ResourceTypeAsString
const char * ResourceTypeAsString( uint16_t aResourceType )
สร้างการแสดงสตริงของประเภททรัพยากร
ประเภททรัพยากรที่แปลงคือประเภทที่ระบุไว้ใน ResourceTypeEnum.h และ 0 (ตรงกับ RESOURCE_TYPE_RESERVED)
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
ชั้นเรียนของเพื่อน
โอเปอเรเตอร์==
friend bool operator==(const ResourceIdentifier &lhs, const ResourceIdentifier &rhs)