Google is committed to advancing racial equity for Black communities. See how.
Эта страница переведена с помощью Cloud Translation API.
Switch to English

nl :: Плетение :: Профили: DataManagement_Current :: ResourceIdentifier

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

Структура, инкапсулирующая идентификатор ресурса.

Резюме

ResourceIdentifier может быть либо обобщенным 64-битным идентификатором объекта определенного типа, либо UUID. При внешнем кодировании поддерживаются следующие представления:

64-битное целое число без знака, соответствующее обобщенному объекту типа DEVICE с идентификатором, указанным в представлении

обобщенное представление, закодированное как строка байтов из 10 октетов. Первые два октета кодируют тип ресурса как 16-битное целое число с прямым порядком байтов, а оставшиеся 8 байтов кодируют 64-разрядный идентификатор ресурса с прямым порядком байтов.

ResourceIdentifiers также воплощают соглашения, присутствующие во всем коде WDM: пустой ResourceIdentifier соответствует идентификатору узла УСТРОЙСТВА, а конструкторы предоставляются для наиболее распространенных вариантов использования.

Конструкторы и деструкторы

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
}
перечислить
@126 перечислить
Определяет специальное значение для NodeId, которое относится к «себе».
@127 перечислить

Публичные атрибуты

ResourceId
uint64_t
ResourceIdBytes [8]
uint8_t

Публичные функции

FromString (const char *inBuffer, size_t inBufferLen)
Разберите каноническое строковое представление ресурса в объект ресурса.
FromString (const char *inBuffer, size_t inBufferLen, const uint64_t & aSelfNodeId)
Разберите каноническое строковое представление ресурса в объект ресурса.
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

Зарезервированный тип ресурса.

Перечисление выбирается таким образом, чтобы оно не конфликтовало со значениями перечисления из перечислений Schema :: Weave ::: Common :: ResourceType. На данный момент для типа ресурса RESERVED возможны два значения ResourceId: kNodeIdNotSpecified соответствует унифицированному ResourceIdentifier , а SELF_NODE_ID соответствует ресурсу, который будет повторно отображен на SELF из любого другого представления.

@ 126

 @126

Определяет специальное значение для NodeId, которое относится к «себе».

В некоторых взаимодействиях WDM наличие значения self для ресурса позволяет сжимать эту информацию, поскольку она избыточна для идентификатора исходного узла устройства, выраженного в Weave. само сообщение

@ 127

 @127

Публичные атрибуты

ResourceId

uint64_t ResourceId

ResourceIdBytes

uint8_t ResourceIdBytes[8]

Публичные функции

FromString

WEAVE_ERROR FromString(
  const char *inBuffer,
  size_t inBufferLen
)

Разберите каноническое строковое представление ресурса в объект ресурса.

Преобразует каноническое строковое представление ресурса в объект ресурса. Обратите внимание, что только подмножество ресурсов может быть представлено в виде строки, в частности, эталонная реализация в Weave будет анализировать только ресурсы канонических типов, как выражено в ResourceTypeEnum.

Подробности
Параметры
[in] inBuffer
Буфер, содержащий идентификатор ресурса для анализа
[in] inBufferLen
Длина (в байтах) строки для анализа.

FromString

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

Разберите каноническое строковое представление ресурса в объект ресурса.

Преобразует каноническое строковое представление ресурса в объект ресурса. Обратите внимание, что только подмножество ресурсов может быть представлено в виде строки, в частности, эталонная реализация в Weave будет анализировать только ресурсы канонических типов, как выражено в 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
64-битный ResourceID, который будет переназначен из сериализованного представления на SELF_NODE_ID
Возврат
WEAVE_NO_ERROR в случае успеха. Ошибки от TLVReader, если ResourceIdentifier не может быть правильно прочитан.

GetResourceId

uint64_t GetResourceId() const 

Функция доступа для получения ResourceId.

GetResourceType

uint16_t GetResourceType() const 

Функция доступа для получения ResourceType.

ResourceIdentifier

 ResourceIdentifier()

Создайте ResourceIdentifier, соответствующий неопределенному ResourceID.

Неуказанный идентификатор ресурса - это кортеж, состоящий из типа ресурса 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
ID ресурса, которому нужно присвоить имя.

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)

Нанизывать

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
Перечисление типа ресурса, которое нужно преобразовать в строковое представление.

Классы друзей

оператор ==

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