нл:: Переплетение:: Профили:: 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 { | перечисление |
@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.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
|
Фромстринг
WEAVE_ERROR FromString( const char *inBuffer, size_t inBufferLen, const uint64_t & aSelfNodeId )
Разберите каноническое строковое представление ресурса в объект ресурса.
Преобразует каноническое строковое представление ресурса в объект ресурса. Обратите внимание, что только подмножество ресурсов может быть представлено в виде строки, в частности, эталонная реализация в Weave будет анализировать только ресурсы канонических типов, как указано в ResourceTypeEnum.
Подробности | |||||||
---|---|---|---|---|---|---|---|
Параметры |
|
ОтTLV
WEAVE_ERROR FromTLV( nl::Weave::TLV::TLVReader & aReader )
Десериализовать ResourceIdentifier из представления TLV в этот объект.
Подробности | |||
---|---|---|---|
Параметры |
| ||
Возврат | WEAVE_NO_ERROR в случае успеха. Ошибки от TLVReader, если ResourceIdentifier не может быть правильно прочитан. |
ОтTLV
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 , соответствующий неопределенному ResourceID.
Неуказанный идентификатор ресурса представляет собой кортеж, состоящий из типа ресурса RESERVED с ресурсом kNodeIdNotSpeficied.
идентификатор ресурса
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 указанного типа с заданным идентификатором.
Подробности | |||||||
---|---|---|---|---|---|---|---|
Параметры |
|
Ресурсотипеасстринг
const char * ResourceTypeAsString( void ) const
Создайте строковое представление ResourceType.
Преобразованные типы ресурсов — это те, которые перечислены в ResourceTypeEnum.h и 0 (соответствует RESOURCE_TYPE_RESERVED).
ТоСтрока
WEAVE_ERROR ToString( char *buffer, size_t bufferLen )
Преобразуйте ResourceIdentifier в печатную строку.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
|
ToTLV
WEAVE_ERROR ToTLV( nl::Weave::TLV::TLVWriter & aWriter ) const
Сериализуйте ресурс в представление TLV , используя контекстный тег Path::ResourceID.
Подробности | |||
---|---|---|---|
Параметры |
|
ToTLV
WEAVE_ERROR ToTLV( nl::Weave::TLV::TLVWriter & aWriter, const uint64_t & aTag ) const
Сериализуйте ресурс в представление TLV, используя заданный тег.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
|
Публичные статические функции
Ресурсотипеасстринг
const char * ResourceTypeAsString( uint16_t aResourceType )
Создайте строковое представление типа ресурса.
Преобразованные типы ресурсов — это те, которые перечислены в ResourceTypeEnum.h и 0 (соответствует RESOURCE_TYPE_RESERVED).
Подробности | |||
---|---|---|---|
Параметры |
|
Классы друзей
оператор==
friend bool operator==(const ResourceIdentifier &lhs, const ResourceIdentifier &rhs)