нл:: Переплетение:: Профили:: DataManagement_Current:: идентификатор ресурса

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

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

Краткое содержание

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

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

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

ResourceIdentifiers также воплощают соглашения, присутствующие в коде 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
}
перечисление
@126 перечисление
Определяет специальное значение для NodeId, которое относится к «self».
@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, которое относится к «self».

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

@127

 @127

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

идентификатор ресурса

uint64_t ResourceId

Ресаурсеидбайтес

uint8_t ResourceIdBytes[8]

Общественные функции

Фромстринг

WEAVE_ERROR FromString(
  const char *inBuffer,
  size_t inBufferLen
)

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

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

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

Фромстринг

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.

ОтTLV

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

Десериализовать ResourceIdentifier из представления TLV в этот объект.

Подробности
Параметры
[in] aReader
Средство чтения TLV , расположенное в элементе ResourceIdentifier.
Возврат
WEAVE_NO_ERROR в случае успеха. Ошибки от TLVReader, если ResourceIdentifier не может быть правильно прочитан.

ОтTLV

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 , соответствующий неопределенному ResourceID.

Неуказанный идентификатор ресурса представляет собой кортеж, состоящий из типа ресурса RESERVED с ресурсом kNodeIdNotSpeficied.

идентификатор ресурса

 ResourceIdentifier(
  const uint64_t & aNodeId
)

Создайте ResourceIdentifier типа DEVICE на основе заданного aNodeId.

Подробности
Параметры
[in] aNodeId
NodeId данного идентификатора ресурса

идентификатор ресурса

 ResourceIdentifier(
  uint16_t aResourceType,
  const uint64_t & aResourceId
)

Создайте ResourceIdentifier указанного типа с заданным идентификатором.

Подробности
Параметры
[in] aResourceType
Тип ресурса, которому будет присвоено имя
[in] aResourceId
Идентификатор ресурса, которому будет присвоено имя

идентификатор ресурса

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

Создайте ResourceIdentifier указанного типа с заданным идентификатором.

Подробности
Параметры
[in] aResourceType
Тип ресурса, которому будет присвоено имя
[in] aResourceId
Идентификатор ресурса, который будет назван, представлен в виде массива байтов.
[in] aResourceIdLen
Длина идентификатора в байтах

Ресурсотипеасстринг

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.

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

Ресурсотипеасстринг

const char * ResourceTypeAsString(
  uint16_t aResourceType
)

Создайте строковое представление типа ресурса.

Преобразованные типы ресурсов — это те, которые перечислены в ResourceTypeEnum.h и 0 (соответствует RESOURCE_TYPE_RESERVED).

Подробности
Параметры
[in] aResourceType
Перечисление типа ресурса, которое необходимо преобразовать в строковое представление.

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

оператор==

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