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

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

Cấu trúc đóng gói mã nhận dạng của tài nguyên.

Tóm tắt

ResourceIdentifier có thể là mã đối tượng 64 bit chung của một loại cụ thể hoặc một UUID. Khi được mã hoá bên ngoài, các cách trình bày sau được hỗ trợ:

một số nguyên 64 bit chưa ký tương ứng với đối tượng tổng quát thuộc loại THIẾT BỊ có mã nhận dạng được chỉ định trong biểu diễn

một đại diện tổng quát được mã hoá dưới dạng một chuỗi byte gồm 10 octet. Hai octet đầu tiên mã hóa loại tài nguyên dưới dạng số nguyên endian nhỏ 16 bit, với 8 byte còn lại mã hóa một ID tài nguyên 64 bit endian nhỏ.

ResourceIdentifier cũng thể hiện các quy ước có trong toàn bộ mã WDM: một ResourceIdentifier trống tương ứng với mã nhận dạng nút của THIẾT BỊ và các hàm khởi tạo được cung cấp cho các trường hợp sử dụng phổ biến nhất.

Hàm khởi tạo và phá huỷ

ResourceIdentifier()
Tạo một ResourceIdentifier tương ứng với một ResourceID không được chỉ định.
ResourceIdentifier(const uint64_t & aNodeId)
Tạo ResourceIdentifier thuộc loại THIẾT BỊ dựa trên aNodeId nhất định.
ResourceIdentifier(uint16_t aResourceType, const uint64_t & aResourceId)
Tạo ResourceIdentifier của loại đã chỉ định bằng mã nhận dạng đã cho.
ResourceIdentifier(uint16_t aResourceType, const uint8_t *aResourceId, size_t aResourceIdLen)
Tạo ResourceIdentifier của loại đã chỉ định bằng mã nhận dạng đã cho.

Loại công khai

@125{
  RESOURCE_TYPE_RESERVED = 0
}
enum
@126 enum
Xác định một giá trị đặc biệt cho NodeId tham chiếu đến "self".
@127 enum

Các thuộc tính công khai

ResourceId
uint64_t
ResourceIdBytes[8]
uint8_t

Hàm công khai

FromString(const char *inBuffer, size_t inBufferLen)
Phân tích cú pháp một chuỗi chuẩn hoá biểu diễn của một tài nguyên thành một đối tượng tài nguyên.
FromString(const char *inBuffer, size_t inBufferLen, const uint64_t & aSelfNodeId)
Phân tích cú pháp một chuỗi chuẩn hoá biểu diễn của một tài nguyên thành một đối tượng tài nguyên.
FromTLV(nl::Weave::TLV::TLVReader & aReader)
Giải tuần tự một ResourceIdentifier của giá trị đại diện TLV thành đối tượng này.
FromTLV(nl::Weave::TLV::TLVReader & aReader, const uint64_t & aSelfNodeId)
Giải tuần tự một ResourceIdentifier của giá trị đại diện TLV thành đối tượng này.
GetResourceId() const
uint64_t
Hàm truy cập để tìm nạp ResourceId.
GetResourceType() const
uint16_t
Hàm truy cập để tìm nạp ResourceType.
ResourceTypeAsString(void) const
const char *
Tạo một chuỗi đại diện cho ResourceType.
ToString(char *buffer, size_t bufferLen)
Chuyển đổi ResourceIdentifier thành một chuỗi có thể in được.
ToTLV(nl::Weave::TLV::TLVWriter & aWriter) const
Tuần tự hoá tài nguyên thành một bản trình bày TLV bằng cách sử dụng thẻ Đường dẫn ngữ cảnh::ResourceID.
ToTLV(nl::Weave::TLV::TLVWriter & aWriter, const uint64_t & aTag) const
Tuần tự hoá tài nguyên thành một bản trình bày TLV bằng một thẻ nhất định.

Hàm tĩnh công khai

ResourceTypeAsString(uint16_t aResourceType)
const char *
Tạo một chuỗi đại diện cho một loại tài nguyên.

Lớp học bạn bè

operator==
friend bool

Loại công khai

@125

 @125
Thuộc tính
RESOURCE_TYPE_RESERVED

Một loại tài nguyên dành riêng.

Giá trị enum được chọn sao cho không xung đột với các giá trị enum trong Schema::Weave:::Common::ResourceType enum. Hiện tại, có thể sử dụng 2 giá trị ResourceId cho loại tài nguyên RESERVED: kNodeIdNotRENDERED tương ứng với ResourceIdentifier được đơn nhất và bện NÚT_ID tương ứng với một tài nguyên sẽ ánh xạ lại vào self từ bất kỳ cách trình bày nào khác.

@126

 @126

Xác định một giá trị đặc biệt cho NodeId tham chiếu đến "self".

Trong một số hoạt động tương tác WDM nhất định, việc có giá trị "self cho tài nguyên" cho phép nén thông tin đó vì thông tin đó không cần thiết cho id nút nguồn của thiết bị được biểu thị trong Weave. chính tin nhắn

@127

 @127

Các thuộc tính công khai

ResourceId

uint64_t ResourceId

ResourceIdBytes

uint8_t ResourceIdBytes[8]

Hàm công khai

FromString

WEAVE_ERROR FromString(
  const char *inBuffer,
  size_t inBufferLen
)

Phân tích cú pháp một chuỗi chuẩn hoá biểu diễn của một tài nguyên thành một đối tượng tài nguyên.

Chuyển đổi chuỗi chuẩn hoá biểu diễn của một tài nguyên thành đối tượng tài nguyên. Lưu ý rằng chỉ một nhóm nhỏ tài nguyên có thể được biểu thị dưới dạng chuỗi. Cụ thể, việc triển khai tham chiếu trong Weave sẽ chỉ phân tích cú pháp các tài nguyên thuộc các loại chuẩn như được thể hiện trong ResourceTypeEnum.

Thông tin chi tiết
Tham số
[in] inBuffer
Vùng đệm chứa mã nhận dạng tài nguyên cần được phân tích cú pháp
[in] inBufferLen
Độ dài (tính bằng byte) của chuỗi cần được phân tích cú pháp

FromString

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

Phân tích cú pháp một chuỗi chuẩn hoá biểu diễn của một tài nguyên thành một đối tượng tài nguyên.

Chuyển đổi chuỗi chuẩn hoá biểu diễn của một tài nguyên thành đối tượng tài nguyên. Lưu ý rằng chỉ một nhóm nhỏ tài nguyên có thể được biểu thị dưới dạng chuỗi. Cụ thể, việc triển khai tham chiếu trong Weave sẽ chỉ phân tích cú pháp các tài nguyên thuộc các loại chuẩn như được thể hiện trong ResourceTypeEnum.

Thông tin chi tiết
Tham số
[in] inBuffer
Vùng đệm chứa mã nhận dạng tài nguyên cần được phân tích cú pháp
[in] inBufferLen
Độ dài (tính bằng byte) của chuỗi cần được phân tích cú pháp
[in] aSelfNodeId
Mã 64 bit cho biết mã thiết bị nào cần được liên kết với ẩm_OT_ID

FromTLV

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

Giải tuần tự một ResourceIdentifier của giá trị đại diện TLV thành đối tượng này.

Thông tin chi tiết
Tham số
[in] aReader
Trình đọc TLV được đặt trên phần tử ResourceIdentifier
Trả về
WEAVE_NO_ERROR khi thành công. Lỗi từ TLVReader nếu ResourceIdentifier không thể đọc được đúng cách.

FromTLV

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

Giải tuần tự một ResourceIdentifier của giá trị đại diện TLV thành đối tượng này.

Thông tin chi tiết
Tham số
[in] aReader
Trình đọc TLV được đặt trên phần tử ResourceIdentifier
[in] aSelfNodeId
một ResourceID 64 bit sẽ được ánh xạ lại từ bản trình bày được chuyển đổi tuần tự vào Phương_ tâm _ID
Trả về
WEAVE_NO_ERROR khi thành công. Lỗi từ TLVReader nếu ResourceIdentifier không thể đọc được đúng cách.

GetResourceId

uint64_t GetResourceId() const 

Hàm truy cập để tìm nạp ResourceId.

GetResourceType

uint16_t GetResourceType() const 

Hàm truy cập để tìm nạp ResourceType.

ResourceIdentifier

 ResourceIdentifier()

Tạo một ResourceIdentifier tương ứng với một ResourceID không được chỉ định.

Mã nhận dạng tài nguyên chưa xác định là một bộ dữ liệu bao gồm loại tài nguyên RESERVED có tài nguyên kNodeIdNotSpeficied.

ResourceIdentifier

 ResourceIdentifier(
  const uint64_t & aNodeId
)

Tạo ResourceIdentifier thuộc loại THIẾT BỊ dựa trên aNodeId nhất định.

Thông tin chi tiết
Tham số
[in] aNodeId
NodeId của mã tài nguyên đã cho

ResourceIdentifier

 ResourceIdentifier(
  uint16_t aResourceType,
  const uint64_t & aResourceId
)

Tạo ResourceIdentifier của loại đã chỉ định bằng mã nhận dạng đã cho.

Thông tin chi tiết
Tham số
[in] aResourceType
Loại tài nguyên được đặt tên
[in] aResourceId
Mã nhận dạng của tài nguyên cần đặt tên

ResourceIdentifier

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

Tạo ResourceIdentifier của loại đã chỉ định bằng mã nhận dạng đã cho.

Thông tin chi tiết
Tham số
[in] aResourceType
Loại tài nguyên được đặt tên
[in] aResourceId
Mã nhận dạng của tài nguyên được đặt tên được biểu thị dưới dạng một mảng byte
[in] aResourceIdLen
Độ dài của mã nhận dạng tính bằng byte

ResourceTypeAsString

const char * ResourceTypeAsString(
  void
) const 

Tạo một chuỗi đại diện cho ResourceType.

Các loại tài nguyên được chuyển đổi là những loại được liệt kê trong ResourceTypeEnum.h và giá trị 0 (tương ứng với resource_TYPE_RESERVED)

ToString

WEAVE_ERROR ToString(
  char *buffer,
  size_t bufferLen
)

Chuyển đổi ResourceIdentifier thành một chuỗi có thể in được.

Thông tin chi tiết
Tham số
[in] buffer
Vùng đệm để in vào
[in] bufferLen
Độ dài vùng đệm

ToTLV

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

Tuần tự hoá tài nguyên thành một bản trình bày TLV bằng cách sử dụng thẻ Đường dẫn ngữ cảnh::ResourceID.

Thông tin chi tiết
Tham số
[in] aWriter
Người viết TLV để chuyển đổi tuần tự ResourceIdentifier thành

ToTLV

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

Tuần tự hoá tài nguyên thành một bản trình bày TLV bằng một thẻ nhất định.

Thông tin chi tiết
Tham số
[in] aWriter
Người viết TLV để chuyển đổi tuần tự ResourceIdentifier thành
[in] aTag
Một thẻ đặt tên cho ResourceIdentifier được chuyển đổi tuần tự

Hàm tĩnh công khai

ResourceTypeAsString

const char * ResourceTypeAsString(
  uint16_t aResourceType
)

Tạo một chuỗi đại diện cho một loại tài nguyên.

Các loại tài nguyên được chuyển đổi là những loại được liệt kê trong ResourceTypeEnum.h và giá trị 0 (tương ứng với resource_TYPE_RESERVED)

Thông tin chi tiết
Tham số
[in] aResourceType
Một enum loại tài nguyên sẽ được chuyển đổi thành cách biểu diễn chuỗi.

Lớp học bạn bè

toán tử==

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