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
El ResourceIdentifier puede ser un ID de objeto generalizado de 64 bits de un tipo particular o un UUID. Cuando se codifica 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 número entero de 16 bits de 16 bits, mientras que los 8 bytes restantes codifican un ID de recurso de 64 bits de tipo Little endian.
Los ResourceIdentifiers también representan las convenciones presentes en todo el código WDM: un ResourceIdentifier vacío corresponde al ID de nodo del DISPOSITIVO, y se proporcionan constructores para los casos de uso más comunes.
Constructores y destructores |
|
---|---|
ResourceIdentifier()
Construye un ResourceIdentifier que corresponda 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{
|
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)
|
Analizar una representación de cadena canónica de un recurso en un objeto de recursos
|
FromString(const char *inBuffer, size_t inBufferLen, const uint64_t & aSelfNodeId)
|
Analizar una representación de cadena canónica de un recurso en un objeto de recursos
|
FromTLV(nl::Weave::TLV::TLVReader & aReader)
|
Deserializa un ResourceIdentifier de una representación de TLV a este objeto.
|
FromTLV(nl::Weave::TLV::TLVReader & aReader, const uint64_t & aSelfNodeId)
|
Deserializa un ResourceIdentifier de una representación de TLV a este objeto.
|
GetResourceId() const
|
uint64_t
Una función de descriptor de acceso para recuperar el ResourceId.
|
GetResourceType() const
|
uint16_t
Una función de descriptor de acceso para recuperar el ResourceType.
|
ResourceTypeAsString(void) const
|
const char *
Produce una representación de cadena del ResourceType.
|
ToString(char *buffer, size_t bufferLen)
|
Convierte el ResourceIdentifier en una string 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 tal manera que no entre en conflicto con los valores de enumeración de las enumeraciones Schema::Weave:::Common::ResourceType. Por el momento, hay dos valores de ResourceId posibles para el tipo de recurso RESERVED: un kNodeIdNotspecified corresponde a un ResourceIdentifier unitario 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 ciertas interacciones de WDM, tener un valor de "self" como recurso permite comprimir esa información, ya que es redundante en el ID de nodo de origen del dispositivo que se indica en el mensaje de Weave.
@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 )
Analizar una representación de cadena canónica de un recurso en un objeto de recursos
Convierte la representación de cadena canónica de un recurso en un objeto de recursos. 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 ResourceTypeEnum.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
FromString
WEAVE_ERROR FromString( const char *inBuffer, size_t inBufferLen, const uint64_t & aSelfNodeId )
Analizar una representación de cadena canónica de un recurso en un objeto de recursos
Convierte la representación de cadena canónica de un recurso en un objeto de recursos. 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 ResourceTypeEnum.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
FromTLV
WEAVE_ERROR FromTLV( nl::Weave::TLV::TLVReader & aReader )
Deserializa un ResourceIdentifier de una representación de TLV a este objeto.
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Qué muestra |
WEAVE_NO_ERROR si la operación es exitosa. 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 de una representación de TLV a este objeto.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Qué muestra |
WEAVE_NO_ERROR si la operación es exitosa. Errores de TLVReader si el ResourceIdentifier no se puede leer correctamente.
|
GetResourceId
uint64_t GetResourceId() const
Una función de descriptor de acceso para recuperar el ResourceId.
GetResourceType
uint16_t GetResourceType() const
Una función de descriptor de acceso para recuperar el ResourceType.
ResourceIdentifier
ResourceIdentifier()
Construye 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 )
Construye un ResourceIdentifier de tipo DEVICE en función de un aNodeId determinado.
Detalles | |||
---|---|---|---|
Parámetros |
|
ResourceIdentifier
ResourceIdentifier( uint16_t aResourceType, const uint64_t & aResourceId )
Construye el ResourceIdentifier del tipo especificado con el ID determinado.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
ResourceIdentifier
ResourceIdentifier( uint16_t aResourceType, const uint8_t *aResourceId, size_t aResourceIdLen )
Construye el ResourceIdentifier del tipo especificado con el ID determinado.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
ResourceTypeAsString
const char * ResourceTypeAsString( void ) const
Produce una representación de cadena del ResourceType.
Los tipos de recursos convertidos son los que se indican en ResourceTypeEnum.h y el 0 (correspondiente a RESOURCE_TYPE_RESERVED).
ToString
WEAVE_ERROR ToString( char *buffer, size_t bufferLen )
Convierte el ResourceIdentifier en una string 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 que se indican en ResourceTypeEnum.h y el 0 (correspondiente a RESOURCE_TYPE_RESERVED).
Detalles | |||
---|---|---|---|
Parámetros |
|
Clases de amigos
operador==
friend bool operator==(const ResourceIdentifier &lhs, const ResourceIdentifier &rhs)