nl::Weave::Perfiles::DataManagement_Current::ResourceIdentifier

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

Es una estructura que encapsula el ID de un recurso.

Resumen

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

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

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

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

Constructores y destructores

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

Tipos públicos

@125{
  RESOURCE_TYPE_RESERVED = 0
}
enum
@126 enum
Define un valor especial para NodeId que hace referencia 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 string 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 string canónica de un recurso en un objeto de recurso.
FromTLV(nl::Weave::TLV::TLVReader & aReader)
Deserializa un ResourceIdentifier en una representación de TLV.
FromTLV(nl::Weave::TLV::TLVReader & aReader, const uint64_t & aSelfNodeId)
Deserializa un ResourceIdentifier en una representación de TLV.
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 *
Produce una representación de string de ResourceType.
ToString(char *buffer, size_t bufferLen)
Convierte ResourceIdentifier en una string que se puede imprimir.
ToTLV(nl::Weave::TLV::TLVWriter & aWriter) const
Serializa el recurso a una representación TLV mediante el uso de una etiqueta de ruta de acceso contextual::ID de recurso.
ToTLV(nl::Weave::TLV::TLVWriter & aWriter, const uint64_t & aTag) const
Serializa el recurso a una representación TLV mediante una etiqueta determinada.

Funciones estáticas públicas

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

Clases de amistad

operator==
friend bool

Tipos públicos

@125

 @125
Properties
RESOURCE_TYPE_RESERVED

Un tipo de recurso reservado

La enumeración se elige de manera que no entre en conflicto con los valores de enumeración de enums de Schema::Weave:::Common::ResourceType. Por el momento, es posible que haya dos valores de ResourceId para el tipo de recurso RESERVED: un kNodeIdNotspecified corresponde a un ResourceIdentifier unificado y SELF_NODE_ID corresponde a un recurso que se reasignará a SELF desde cualquier otra representación.

@126

 @126

Define un valor especial para NodeId que hace referencia a 'self'.

En algunas interacciones de WDM, tener un valor propio para el recurso comprime esa información, ya que es redundante en el ID del nodo fuente del dispositivo expresado en el mensaje de Weave.

@127

 @127

Atributos públicos

ResourceId

uint64_t ResourceId

ID de recurso

uint8_t ResourceIdBytes[8]

Funciones públicas

DeString

WEAVE_ERROR FromString(
  const char *inBuffer,
  size_t inBufferLen
)

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

Convierte la representación de string canónica de un recurso en un objeto de recurso. Ten en cuenta que solo un subconjunto de recursos se puede representar como una string, en particular, la implementación de referencia en Weave solo analizará los recursos de tipos canónicos como se expresan en 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 string que se analizará

DeString

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

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

Convierte la representación de string canónica de un recurso en un objeto de recurso. Ten en cuenta que solo un subconjunto de recursos se puede representar como una string, en particular, la implementación de referencia en Weave solo analizará los recursos de tipos canónicos como se expresan en 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 string que se analizará
[in] aSelfNodeId
El ID de 64 bits que indica qué ID del dispositivo debe asignarse a un SELF_NODE_ID.

FromTLV

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

Deserializa un ResourceIdentifier en una representación de TLV.

Detalles
Parámetros
[in] aReader
Lector TLV posicionado en el elemento ResourceIdentifier
Qué muestra
WEAVE_NO_ERROR si la operación fue exitosa. Errores de TLVReader si el ResourceIdentifier no puede leerse correctamente.

FromTLV

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

Deserializa un ResourceIdentifier en una representación de TLV.

Detalles
Parámetros
[in] aReader
Lector 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
Qué muestra
WEAVE_NO_ERROR si la operación fue exitosa. Errores de TLVReader si el ResourceIdentifier no puede leerse correctamente.

ID de recurso Get

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.

Identificador del recurso

 ResourceIdentifier()

Construye un ResourceIdentifier que corresponde a un ResourceID no especificado.

El ID de recurso no especificado es una tupla de un tipo de recurso RESERVADO con un recurso kNodeIdNotSpeficied.

Identificador del recurso

 ResourceIdentifier(
  const uint64_t & aNodeId
)

Construye un ResourceIdentifier de tipo DEVICE en función de un aNodeId determinado.

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

Identificador del recurso

 ResourceIdentifier(
  uint16_t aResourceType,
  const uint64_t & aResourceId
)

Construye el ResourceIdentifier del tipo especificado con el ID determinado.

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

Identificador del recurso

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

Construye el ResourceIdentifier del tipo especificado con el ID determinado.

Detalles
Parámetros
[in] aResourceType
El tipo de un recurso que se nombrará
[in] aResourceId
El ID del recurso al que se representará como un array de bytes
[in] aResourceIdLen
Longitud del ID en bytes

Tipo de recurso en string

const char * ResourceTypeAsString(
  void
) const 

Produce una representación de string de ResourceType.

Los tipos de recursos convertidos son los que se enumeran en ResourceTypeEnum.h y los 0 (correspondientes a RESOURCE_TYPE_RESERVED).

ToString

WEAVE_ERROR ToString(
  char *buffer,
  size_t bufferLen
)

Convierte ResourceIdentifier en una string que se puede imprimir.

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 a una representación TLV mediante el uso de una etiqueta de ruta de acceso contextual::ID de recurso.

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 a una representación TLV mediante una etiqueta determinada.

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

Funciones estáticas públicas

Tipo de recurso en string

const char * ResourceTypeAsString(
  uint16_t aResourceType
)

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

Los tipos de recursos convertidos son los que se enumeran en ResourceTypeEnum.h y los 0 (correspondientes a RESOURCE_TYPE_RESERVED).

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

Clases de amistad

operador==

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