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

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

Uma estrutura que encapsula o ID de um recurso.

Resumo

O ResourceIdentifier pode ser um ID de objeto generalizado de 64 bits de um tipo específico ou um UUID. Quando codificadas externamente, estas representações são aceitas:

um número inteiro de 64 bits não assinado correspondente ao objeto generalizado do tipo DEVICE com o ID especificado na representação

uma representação generalizada codificada como uma string de bytes de 10 octetos. Os dois primeiros octetos codificam o tipo de recurso como um número inteiro pequeno de 16 bits, com os 8 bytes restantes codificando um ID de recurso pequeno endian de 64 bits.

ResourceIdentifiers também incorporam as convenções presentes em todo o código WDM: um ResourceIdentifier vazio corresponde ao ID do nó do DEVICE, e os construtores são fornecidos para os casos de uso mais comuns.

Construtores e destrutores

ResourceIdentifier()
Cria um ResourceIdentifier correspondente a um ResourceID não especificado.
ResourceIdentifier(const uint64_t & aNodeId)
Cria um ResourceIdentifier do tipo DEVICE com base em um determinado aNodeId.
ResourceIdentifier(uint16_t aResourceType, const uint64_t & aResourceId)
Cria o ResourceIdentifier do tipo especificado com o ID fornecido.
ResourceIdentifier(uint16_t aResourceType, const uint8_t *aResourceId, size_t aResourceIdLen)
Cria o ResourceIdentifier do tipo especificado com o ID fornecido.

Tipos públicos

@125{
  RESOURCE_TYPE_RESERVED = 0
}
enum
@126 enum
Define um valor especial para NodeId que se refere a "self".
@127 enum

Atributos públicos

ResourceId
uint64_t
ResourceIdBytes[8]
uint8_t

Funções públicas

FromString(const char *inBuffer, size_t inBufferLen)
Analisa uma representação de string canônica de um recurso em um objeto de recurso.
FromString(const char *inBuffer, size_t inBufferLen, const uint64_t & aSelfNodeId)
Analisa uma representação de string canônica de um recurso em um objeto de recurso.
FromTLV(nl::Weave::TLV::TLVReader & aReader)
Desserializa um ResourceIdentifier de uma representação TLV nesse objeto.
FromTLV(nl::Weave::TLV::TLVReader & aReader, const uint64_t & aSelfNodeId)
Desserializa um ResourceIdentifier de uma representação TLV nesse objeto.
GetResourceId() const
uint64_t
Uma função de acessador para buscar o ResourceId.
GetResourceType() const
uint16_t
Uma função de acessador para buscar o ResourceType.
ResourceTypeAsString(void) const
const char *
Produza uma representação de string do ResourceType.
ToString(char *buffer, size_t bufferLen)
Converta o ResourceIdentifier em uma string para impressão.
ToTLV(nl::Weave::TLV::TLVWriter & aWriter) const
Serializar o recurso para uma representação TLV usando uma tag de contexto Path::ResourceID.
ToTLV(nl::Weave::TLV::TLVWriter & aWriter, const uint64_t & aTag) const
Serializar o recurso para uma representação TLV usando uma determinada tag.

Funções estáticas públicas

ResourceTypeAsString(uint16_t aResourceType)
const char *
Produza uma representação em string de um tipo de recurso.

Classes de amigos

operator==
friend bool

Tipos públicos

@125

 @125
Propriedades
RESOURCE_TYPE_RESERVED

Um tipo de recurso reservado.

O tipo enumerado é escolhido de modo que não entre em conflito com os valores dos tipos enumerados Schema::Weave:::Common::ResourceType. No momento, dois valores ResourceId são possíveis para o tipo de recurso RESERVED: um kNodeIdNotspecified corresponde a um ResourceIdentifier unitário e SELF_NODE_ID corresponde a um recurso que será remapeado para SELF a partir de qualquer outra representação.

@126

 @126

Define um valor especial para NodeId que se refere a "self".

Em determinadas interações do WDM, ter um valor próprio para o recurso permite compactar essas informações, já que elas são redundantes em relação ao ID do nó de origem do dispositivo expresso na própria mensagem do Weave.

@127

 @127

Atributos públicos

ResourceId

uint64_t ResourceId

ResourceIdBytes

uint8_t ResourceIdBytes[8]

Funções públicas

FromString

WEAVE_ERROR FromString(
  const char *inBuffer,
  size_t inBufferLen
)

Analisa uma representação de string canônica de um recurso em um objeto de recurso.

Converte a representação de string canônica de um recurso em um objeto de recurso. Observe que somente um subconjunto de recursos pode ser representado como uma string. Especificamente, a implementação de referência no Weave analisará apenas recursos de tipos canônicos, conforme expresso em ResourceTypeEnum.

Detalhes
Parâmetros
[in] inBuffer
Um buffer contendo o ID do recurso a ser analisado
[in] inBufferLen
O comprimento (em bytes) da string a ser analisada

FromString

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

Analisa uma representação de string canônica de um recurso em um objeto de recurso.

Converte a representação de string canônica de um recurso em um objeto de recurso. Observe que somente um subconjunto de recursos pode ser representado como uma string. Especificamente, a implementação de referência no Weave analisará apenas recursos de tipos canônicos, conforme expresso em ResourceTypeEnum.

Detalhes
Parâmetros
[in] inBuffer
Um buffer contendo o ID do recurso a ser analisado
[in] inBufferLen
O comprimento (em bytes) da string a ser analisada
[in] aSelfNodeId
O ID de 64 bits que indica qual ID do dispositivo deve ser mapeado em um SELF_NODE_ID.

FromTLV

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

Desserializa um ResourceIdentifier de uma representação TLV nesse objeto.

Detalhes
Parâmetros
[in] aReader
Um leitor de TLV posicionado no elemento ResourceIdentifier
Retorna
WEAVE_NO_ERROR caso tenha êxito. Erros de TLVReader se o ResourceIdentifier não puder ser lido corretamente.

FromTLV

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

Desserializa um ResourceIdentifier de uma representação TLV nesse objeto.

Detalhes
Parâmetros
[in] aReader
Um leitor de TLV posicionado no elemento ResourceIdentifier
[in] aSelfNodeId
um ResourceID de 64 bits que será remapeado da representação serializada para SELF_NODE_ID
Retorna
WEAVE_NO_ERROR caso tenha êxito. Erros de TLVReader se o ResourceIdentifier não puder ser lido corretamente.

GetResourceId

uint64_t GetResourceId() const 

Uma função de acessador para buscar o ResourceId.

GetResourceType

uint16_t GetResourceType() const 

Uma função de acessador para buscar o ResourceType.

ResourceIdentifier

 ResourceIdentifier()

Cria um ResourceIdentifier correspondente a um ResourceID não especificado.

O ID de recurso não especificado é uma tupla que consiste em um tipo de recurso RESERVED com um recurso kNodeIdNotSpeficied.

ResourceIdentifier

 ResourceIdentifier(
  const uint64_t & aNodeId
)

Cria um ResourceIdentifier do tipo DEVICE com base em um determinado aNodeId.

Detalhes
Parâmetros
[in] aNodeId
NodeId do ID de recurso fornecido

ResourceIdentifier

 ResourceIdentifier(
  uint16_t aResourceType,
  const uint64_t & aResourceId
)

Cria o ResourceIdentifier do tipo especificado com o ID fornecido.

Detalhes
Parâmetros
[in] aResourceType
O tipo de um recurso a ser nomeado
[in] aResourceId
O ID do recurso a ser nomeado

ResourceIdentifier

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

Cria o ResourceIdentifier do tipo especificado com o ID fornecido.

Detalhes
Parâmetros
[in] aResourceType
O tipo de um recurso a ser nomeado
[in] aResourceId
O ID do recurso a ser nomeado representado como uma matriz de bytes
[in] aResourceIdLen
O comprimento do ID em bytes

ResourceTypeAsString

const char * ResourceTypeAsString(
  void
) const 

Produza uma representação de string do ResourceType.

Os tipos de recursos convertidos são aqueles enumerados em ResourceTypeEnum.h e o 0 (correspondente a RESOURCE_TYPE_RESERVED)

ToString

WEAVE_ERROR ToString(
  char *buffer,
  size_t bufferLen
)

Converta o ResourceIdentifier em uma string para impressão.

Detalhes
Parâmetros
[in] buffer
Um buffer para imprimir
[in] bufferLen
O comprimento do buffer

ToTLV

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

Serializar o recurso para uma representação TLV usando uma tag de contexto Path::ResourceID.

Detalhes
Parâmetros
[in] aWriter
Um gravador TLV para serializar o ResourceIdentifier em

ToTLV

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

Serializar o recurso para uma representação TLV usando uma determinada tag.

Detalhes
Parâmetros
[in] aWriter
Um gravador TLV para serializar o ResourceIdentifier em
[in] aTag
Uma tag que nomeia o ResourceIdentifier serializado

Funções estáticas públicas

ResourceTypeAsString

const char * ResourceTypeAsString(
  uint16_t aResourceType
)

Produza uma representação em string de um tipo de recurso.

Os tipos de recursos convertidos são aqueles enumerados em ResourceTypeEnum.h e o 0 (correspondente a RESOURCE_TYPE_RESERVED)

Detalhes
Parâmetros
[in] aResourceType
Um tipo enumerado de tipo de recurso a ser convertido em uma representação de string.

Classes de amigos

operador==

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