nl::Weave::Profiles::DataManagement_Current::ResourceIdentifier

#include <src/lib/profiles/data-management/Current/ResourceIdentifier.h>

โครงสร้างที่รวมรหัสของทรัพยากรเอาไว้

สรุป

ResourceIdentifier อาจเป็นรหัสออบเจ็กต์ 64 บิตทั่วไปประเภทหนึ่งหรือ UUID เมื่อเข้ารหัสภายนอก ระบบจะรองรับการแสดงรายการต่อไปนี้

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

การแสดงทั่วไปที่เข้ารหัสเป็นสตริงไบต์ที่มี 10 อ็อกเท็ต อ็อกเท็ตสองตัวแรกเข้ารหัสประเภททรัพยากรเป็นจำนวนเต็ม Endian ตัวเล็ก 16 บิต โดย 8 ไบต์ที่เหลือจะเข้ารหัสรหัสทรัพยากรแบบ 64 บิตของ Endian เล็กน้อย

ResourceIdentifier ยังรวบรวมแบบแผนที่มีอยู่ในโค้ด WDM ด้วย โดย ResourceIdentifier ที่ว่างเปล่าจะสอดคล้องกับรหัสโหนดของ DEVICE และตัวสร้างจะระบุกรณีการใช้งานที่พบบ่อยที่สุด

ผู้ผลิตและผู้ทำลาย

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{
  RESOURCE_TYPE_RESERVED = 0
}
enum
@126 enum
กำหนดค่าพิเศษสำหรับ NodeId ที่อ้างถึง "self"
@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 โดยใช้แท็กบริบท 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 จาก Schema::Weave:::Common::ResourceType enums ในขณะนี้ ค่า ResourceId ได้ 2 ค่าสำหรับประเภททรัพยากร RESERVED คือ kNodeIdNotSpecified ที่สัมพันธ์กับ ResourceIdentifier ที่รวมเป็นหนึ่ง และ SELF_NODE_ID จะสอดคล้องกับทรัพยากรที่จะแมปกับ SELF จากตัวแทนอื่น

@126

 @126

กำหนดค่าพิเศษสำหรับ NodeId ที่อ้างถึง "self"

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

@127

 @127

แอตทริบิวต์สาธารณะ

ResourceId

uint64_t ResourceId

ResourceIdBytes

uint8_t ResourceIdBytes[8]

ฟังก์ชันสาธารณะ

FromString

WEAVE_ERROR FromString(
  const char *inBuffer,
  size_t inBufferLen
)

แยกวิเคราะห์การแทนสตริง Canonical ของทรัพยากรเป็นออบเจ็กต์ทรัพยากร

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

รายละเอียด
พารามิเตอร์
[in] inBuffer
บัฟเฟอร์ที่มีรหัสทรัพยากรที่จะแยกวิเคราะห์
[in] inBufferLen
ความยาว (ในหน่วยไบต์) ของสตริงที่จะแยกวิเคราะห์

FromString

WEAVE_ERROR FromString(
  const char *inBuffer,
  size_t inBufferLen,
  const uint64_t & aSelfNodeId
)

แยกวิเคราะห์การแทนสตริง Canonical ของทรัพยากรเป็นออบเจ็กต์ทรัพยากร

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

รายละเอียด
พารามิเตอร์
[in] inBuffer
บัฟเฟอร์ที่มีรหัสทรัพยากรที่จะแยกวิเคราะห์
[in] inBufferLen
ความยาว (ในหน่วยไบต์) ของสตริงที่จะแยกวิเคราะห์
[in] aSelfNodeId
รหัส 64 บิตซึ่งระบุว่ารหัสอุปกรณ์ควรแมปกับ SELF_NODE_ID

FromTLV

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

ดีซีเรียลไลซ์ ResourceIdentifier จากการแสดง TLV ไปยังออบเจ็กต์นี้

รายละเอียด
พารามิเตอร์
[in] aReader
เครื่องอ่าน TLV ที่จัดวางอยู่บนองค์ประกอบ ResourceIdentifier
การส่งคืน
WEAVE_NO_ERROR เกี่ยวกับความสำเร็จ ข้อผิดพลาดจาก TLVReader หากไม่สามารถอ่าน ResourceIdentifier ได้อย่างถูกต้อง

FromTLV

WEAVE_ERROR FromTLV(
  nl::Weave::TLV::TLVReader & aReader,
  const uint64_t & aSelfNodeId
)

ดีซีเรียลไลซ์ ResourceIdentifier จากการแสดง TLV ไปยังออบเจ็กต์นี้

รายละเอียด
พารามิเตอร์
[in] aReader
เครื่องอ่าน TLV ที่จัดวางอยู่บนองค์ประกอบ ResourceIdentifier
[in] aSelfNodeId
ResourceID 64 บิตที่จะถูกแมปใหม่จากการแสดงแบบอนุกรมไปยัง SELF_NODE_ID
การส่งคืน
WEAVE_NO_ERROR เกี่ยวกับความสำเร็จ ข้อผิดพลาดจาก TLVReader หากไม่สามารถอ่าน ResourceIdentifier ได้อย่างถูกต้อง

GetResourceId

uint64_t GetResourceId() const 

ฟังก์ชันตัวเข้าถึงสำหรับดึงข้อมูล ResourceId

GetResourceType

uint16_t GetResourceType() const 

ฟังก์ชันตัวเข้าถึงสำหรับดึงข้อมูล ResourceType

ResourceIdentifier

 ResourceIdentifier()

สร้าง ResourceIdentifier ที่สอดคล้องกับ ResourceID ที่ไม่ได้ระบุ

รหัสทรัพยากรที่ไม่ระบุเป็น Tuple ที่ประกอบด้วยทรัพยากรประเภท RESERVED โดยมีทรัพยากร kNodeIdNotSpeficied

ResourceIdentifier

 ResourceIdentifier(
  const uint64_t & aNodeId
)

สร้าง ResourceIdentifier ประเภท DEVICE ตาม aNodeId ที่กำหนด

รายละเอียด
พารามิเตอร์
[in] aNodeId
NodeId ของรหัสทรัพยากรที่ระบุ

ResourceIdentifier

 ResourceIdentifier(
  uint16_t aResourceType,
  const uint64_t & aResourceId
)

สร้าง ResourceIdentifier ของประเภทที่ระบุด้วยรหัสที่กำหนด

รายละเอียด
พารามิเตอร์
[in] aResourceType
ประเภทของทรัพยากรที่จะตั้งชื่อ
[in] aResourceId
รหัสของทรัพยากรที่จะตั้งชื่อ

ResourceIdentifier

 ResourceIdentifier(
  uint16_t aResourceType,
  const uint8_t *aResourceId,
  size_t aResourceIdLen
)

สร้าง ResourceIdentifier ของประเภทที่ระบุด้วยรหัสที่กำหนด

รายละเอียด
พารามิเตอร์
[in] aResourceType
ประเภทของทรัพยากรที่จะตั้งชื่อ
[in] aResourceId
รหัสของทรัพยากรที่จะตั้งชื่อแสดงเป็นอาร์เรย์ของไบต์
[in] aResourceIdLen
ความยาวของรหัสในหน่วยไบต์

ResourceTypeAsString

const char * ResourceTypeAsString(
  void
) const 

สร้างการนำเสนอสตริงของ ResourceType

ประเภททรัพยากรที่แปลงแล้วคือประเภทที่ระบุไว้ใน ResourceTypeEnum.h และ 0 (ตาม RESOURCE_TYPE_RESERVED)

ToString

WEAVE_ERROR ToString(
  char *buffer,
  size_t bufferLen
)

แปลง ResourceIdentifier เป็นสตริงที่พิมพ์ได้

รายละเอียด
พารามิเตอร์
[in] buffer
บัฟเฟอร์ที่จะพิมพ์
[in] bufferLen
ความยาวของบัฟเฟอร์

ToTLV

WEAVE_ERROR ToTLV(
  nl::Weave::TLV::TLVWriter & aWriter
) const 

ทำให้ทรัพยากรเป็นอนุกรมในการแทน TLV โดยใช้แท็กบริบท Path::ResourceID

รายละเอียด
พารามิเตอร์
[in] aWriter
ผู้เขียน TLV ในการเรียงลำดับ ResourceIdentifier เป็น

ToTLV

WEAVE_ERROR ToTLV(
  nl::Weave::TLV::TLVWriter & aWriter,
  const uint64_t & aTag
) const 

ทำให้ทรัพยากรเป็นอนุกรมเพื่อนำเสนอ TLV โดยใช้แท็กที่ระบุ

รายละเอียด
พารามิเตอร์
[in] aWriter
ผู้เขียน TLV ในการเรียงลำดับ ResourceIdentifier เป็น
[in] aTag
แท็กที่ตั้งชื่อ ResourceIdentifier ที่เรียงตามลำดับ

ฟังก์ชันแบบคงที่แบบสาธารณะ

ResourceTypeAsString

const char * ResourceTypeAsString(
  uint16_t aResourceType
)

สร้างตัวแทนสตริงของประเภททรัพยากร

ประเภททรัพยากรที่แปลงแล้วคือประเภทที่ระบุไว้ใน ResourceTypeEnum.h และ 0 (ตาม RESOURCE_TYPE_RESERVED)

รายละเอียด
พารามิเตอร์
[in] aResourceType
enum ของประเภททรัพยากรที่จะถูกแปลงเป็นการแทนสตริง

ชั้นเรียนของเพื่อน

โอเปอเรเตอร์==

friend bool operator==(const ResourceIdentifier &lhs, const ResourceIdentifier &rhs)