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

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

Es una estructura que encapsula el ID de un recurso.

Resumen

ResourceIdentifier puede ser un ID de objeto generalizado de 64 bits de un tipo determinado o un UUID. Cuando se codifican de forma externa, se admiten las siguientes representaciones:

un número entero de 64 bits sin firma correspondiente al objeto generalizado de tipo DEVICE con el ID especificado en la representación

una representación generalizada codificada como una cadena de bytes de 10 octetos. Los primeros dos octetos codifican el tipo de recurso como un entero de tipo endian pequeño de 16 bits, mientras que los 8 bytes restantes codifican un ID de recurso de 64 bits de tipo endian pequeño.

Los ResourceIdentifiers también representan las convenciones presentes en todo el código WDM: un ResourceIdentifier vacío corresponde al ID de nodo de DEVICE y se proporcionan constructores para los casos de uso más comunes.

Constructores y destructores

ResourceIdentifier()
Crea un ResourceIdentifier que corresponda a un ResourceID no especificado.
ResourceIdentifier(const uint64_t & aNodeId)
Crea un ResourceIdentifier de tipo DEVICE basado en un aNodeId determinado.
ResourceIdentifier(uint16_t aResourceType, const uint64_t & aResourceId)
Construye el ResourceIdentifier del tipo especificado con el ID indicado.
ResourceIdentifier(uint16_t aResourceType, const uint8_t *aResourceId, size_t aResourceIdLen)
Construye el ResourceIdentifier del tipo especificado con el ID indicado.

Tipos públicos

@125{
  RESOURCE_TYPE_RESERVED = 0
}
enum
@126 enum
Define un valor especial para NodeId que se refiere a “self”.
@127 enum

Atributos públicos

ResourceId
uint64_t
ResourceIdBytes[8]
uint8_t

Funciones públicas

FromString(const char *inBuffer, size_t inBufferLen)
Analiza una representación de cadena canónica de un recurso en un objeto de recurso.
FromString(const char *inBuffer, size_t inBufferLen, const uint64_t & aSelfNodeId)
Analiza una representación de cadena canónica de un recurso en un objeto de recurso.
FromTLV(nl::Weave::TLV::TLVReader & aReader)
Deserializa un ResourceIdentifier a partir de una representación TLV en este objeto.
FromTLV(nl::Weave::TLV::TLVReader & aReader, const uint64_t & aSelfNodeId)
Deserializa un ResourceIdentifier a partir de una representación TLV en este objeto.
GetResourceId() const
uint64_t
Una función de acceso para recuperar el ResourceId.
GetResourceType() const
uint16_t
Una función de acceso para recuperar el ResourceType.
ResourceTypeAsString(void) const
const char *
Genera una representación de cadena del ResourceType.
ToString(char *buffer, size_t bufferLen)
Convierte el objeto ResourceIdentifier en una cadena imprimible.
ToTLV(nl::Weave::TLV::TLVWriter & aWriter) const
Serializa el recurso en una representación TLV con una etiqueta de contexto Path::ResourceID.
ToTLV(nl::Weave::TLV::TLVWriter & aWriter, const uint64_t & aTag) const
Serializa el recurso en una representación TLV con una etiqueta determinada.

Funciones estáticas públicas

ResourceTypeAsString(uint16_t aResourceType)
const char *
Produce una representación de cadena de un tipo de recurso.

Clases de amigos

operator==
friend bool

Tipos públicos

@125

 @125
Propiedades
RESOURCE_TYPE_RESERVED

Un tipo de recurso reservado.

La enumeración se elige de modo que no entre en conflicto con los valores enum de las enumeraciones Schema::Weave:::Common::ResourceType. Por el momento, hay dos valores ResourceId posibles para el tipo de recurso RESERVED: un kNodeIdNotSpecify correspondientes a un ResourceIdentifier unificado, y SELF_NODE_ID corresponde a un recurso que se reasignará a SELF a partir de cualquier otra representación.

@126

 @126

Define un valor especial para NodeId que se refiere a “self”.

En ciertas interacciones de WDM, tener un valor de self para recurso permite comprimir esa información, ya que resulta redundante para el ID de nodo fuente del dispositivo expresado en Weave. mensaje en sí

@127

 @127

Atributos públicos

ResourceId

uint64_t ResourceId

ResourceIdBytes

uint8_t ResourceIdBytes[8]

Funciones públicas

FromString

WEAVE_ERROR FromString(
  const char *inBuffer,
  size_t inBufferLen
)

Analiza una representación de cadena canónica de un recurso en un objeto de recurso.

Convierte la representación de cadena canónica de un recurso en un objeto de recurso. Ten en cuenta que solo se puede representar un subconjunto de recursos como una cadena; en particular, la implementación de referencia en Weave solo analizará los recursos de tipos canónicos como se expresa en el ResourceTypeEnum.

Detalles
Parámetros
[in] inBuffer
Un búfer que contiene el ID del recurso que se analizará
[in] inBufferLen
La longitud (en bytes) de la cadena que se analizará

FromString

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

Analiza una representación de cadena canónica de un recurso en un objeto de recurso.

Convierte la representación de cadena canónica de un recurso en un objeto de recurso. Ten en cuenta que solo se puede representar un subconjunto de recursos como una cadena; en particular, la implementación de referencia en Weave solo analizará los recursos de tipos canónicos como se expresa en el ResourceTypeEnum.

Detalles
Parámetros
[in] inBuffer
Un búfer que contiene el ID del recurso que se analizará
[in] inBufferLen
La longitud (en bytes) de la cadena que se analizará
[in] aSelfNodeId
El ID de 64 bits que indica qué ID de dispositivo se debe asignar a un SELF_NODE_ID

FromTLV

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

Deserializa un ResourceIdentifier a partir de una representación TLV en este objeto.

Detalles
Parámetros
[in] aReader
Un lector de TLV posicionado en el elemento ResourceIdentifier
Resultado que se muestra
WEAVE_NO_ERROR si la operación se realizó correctamente. Se producen errores de TLVReader si el ResourceIdentifier no se puede leer correctamente.

FromTLV

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

Deserializa un ResourceIdentifier a partir de una representación TLV en este objeto.

Detalles
Parámetros
[in] aReader
Un lector de TLV posicionado en el elemento ResourceIdentifier
[in] aSelfNodeId
un ResourceID de 64 bits que se reasignará de la representación serializada a SELF_NODE_ID
Resultado que se muestra
WEAVE_NO_ERROR si la operación se realizó correctamente. Se producen errores de TLVReader si el ResourceIdentifier no se puede leer correctamente.

GetResourceId

uint64_t GetResourceId() const 

Una función de acceso para recuperar el ResourceId.

GetResourceType

uint16_t GetResourceType() const 

Una función de acceso para recuperar el ResourceType.

ResourceIdentifier

 ResourceIdentifier()

Crea un ResourceIdentifier que corresponda a un ResourceID no especificado.

El ID del recurso no especificado es una tupla que consta de un tipo de recurso RESERVED con un recurso kNodeIdNotSpeficied.

ResourceIdentifier

 ResourceIdentifier(
  const uint64_t & aNodeId
)

Crea un ResourceIdentifier de tipo DEVICE basado en un aNodeId determinado.

Detalles
Parámetros
[in] aNodeId
NodeId del ID de recurso dado

ResourceIdentifier

 ResourceIdentifier(
  uint16_t aResourceType,
  const uint64_t & aResourceId
)

Construye el ResourceIdentifier del tipo especificado con el ID indicado.

Detalles
Parámetros
[in] aResourceType
El tipo de recurso al que se asignará un nombre
[in] aResourceId
El ID del recurso al que se le asignará un nombre

ResourceIdentifier

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

Construye el ResourceIdentifier del tipo especificado con el ID indicado.

Detalles
Parámetros
[in] aResourceType
El tipo de recurso al que se asignará un nombre
[in] aResourceId
El ID del recurso que se nombrará representado como un array de bytes
[in] aResourceIdLen
La longitud del ID en bytes

ResourceTypeAsString

const char * ResourceTypeAsString(
  void
) const 

Genera una representación de cadena del ResourceType.

Los tipos de recursos convertidos son los enumerados en ResourceTypeEnum.h y en 0 (correspondiente a RESOURCE_TYPE_RESERVED).

ToString

WEAVE_ERROR ToString(
  char *buffer,
  size_t bufferLen
)

Convierte el objeto ResourceIdentifier en una cadena imprimible.

Detalles
Parámetros
[in] buffer
Un búfer para imprimir
[in] bufferLen
La longitud del búfer

ToTLV

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

Serializa el recurso en una representación TLV con una etiqueta de contexto Path::ResourceID.

Detalles
Parámetros
[in] aWriter
Un escritor TLV para serializar el ResourceIdentifier en

ToTLV

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

Serializa el recurso en una representación TLV con una etiqueta determinada.

Detalles
Parámetros
[in] aWriter
Un escritor TLV para serializar el ResourceIdentifier en
[in] aTag
Una etiqueta que nombra al ResourceIdentifier serializado.

Funciones estáticas públicas

ResourceTypeAsString

const char * ResourceTypeAsString(
  uint16_t aResourceType
)

Produce una representación de cadena de un tipo de recurso.

Los tipos de recursos convertidos son los enumerados en ResourceTypeEnum.h y en 0 (correspondiente a RESOURCE_TYPE_RESERVED).

Detalles
Parámetros
[in] aResourceType
Una enumeración de tipo de recurso que se convertirá en una representación de cadena.

Clases de amigos

operador==

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