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{
|
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 |
|
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 |
|
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 |
|
||
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 |
|
||||
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 |
|
ResourceIdentifier
ResourceIdentifier( uint16_t aResourceType, const uint64_t & aResourceId )
Construye el ResourceIdentifier del tipo especificado con el ID indicado.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
Clases de amigos
operador==
friend bool operator==(const ResourceIdentifier &lhs, const ResourceIdentifier &rhs)