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, as seguintes 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 sequência de bytes de 10 octetos. Os dois primeiros octetos codificam o tipo de recurso como um número inteiro small endian de 16 bits, com os 8 bytes restantes codificando um ID de recurso pequeno endian de 64 bits.

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

Construtores e destruidores

ResourceIdentifier()
Construa 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)
Construa o ResourceIdentifier do tipo especificado com o ID fornecido.
ResourceIdentifier(uint16_t aResourceType, const uint8_t *aResourceId, size_t aResourceIdLen)
Construa 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 o NodeId que faz referência 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)
Desserialize um ResourceIdentifier de uma representação TLV nesse objeto.
FromTLV(nl::Weave::TLV::TLVReader & aReader, const uint64_t & aSelfNodeId)
Desserialize um ResourceIdentifier de uma representação TLV nesse objeto.
GetResourceId() const
uint64_t
Uma função de acesso para buscar o ResourceId.
GetResourceType() const
uint16_t
Uma função de acesso para buscar o ResourceType.
ResourceTypeAsString(void) const
const char *
Produz uma representação de string do ResourceType.
ToString(char *buffer, size_t bufferLen)
Converter o ResourceIdentifier em uma string que pode ser impressa.
ToTLV(nl::Weave::TLV::TLVWriter & aWriter) const
Serializar o recurso para uma representação TLV usando uma tag Path::ResourceID de contexto.
ToTLV(nl::Weave::TLV::TLVWriter & aWriter, const uint64_t & aTag) const
Serializa o recurso para uma representação TLV usando uma determinada tag.

Funções estáticas públicas

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

Classes de amizade

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 de tipo enumerado dos tipos enumerados Schema::Weave:::Common::ResourceType. No momento, dois valores de 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 o NodeId que faz referência a "self".

Em certas interações do WDM, ter um valor "self" para o recurso permite a compactação dessas informações, pois é redundante para o ID do nó de origem do dispositivo expresso no Weave. a própria mensagem

@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 apenas um subconjunto de recursos pode ser representado como uma string. Especificamente, a implementação de referência no Weave analisará apenas os recursos de tipos canônicos conforme expresso no ResourceTypeEnum.

Detalhes
Parâmetros
[in] inBuffer
Um buffer contendo o ID do recurso a ser analisado
[in] inBufferLen
O tamanho (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 apenas um subconjunto de recursos pode ser representado como uma string. Especificamente, a implementação de referência no Weave analisará apenas os recursos de tipos canônicos conforme expresso no ResourceTypeEnum.

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

FromTLV

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

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

Detalhes
Parâmetros
[in] aReader
Um leitor TLV posicionado no elemento ResourceIdentifier
Retornos
WEAVE_NO_ERROR caso a operação seja concluída. Erros do TLVReader quando o ResourceIdentifier não pode ser lido corretamente.

FromTLV

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

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

Detalhes
Parâmetros
[in] aReader
Um leitor TLV posicionado no elemento ResourceIdentifier
[in] aSelfNodeId
um ResourceID de 64 bits que será remapeado a partir da representação serializada em SELF_NODE_ID
Retornos
WEAVE_NO_ERROR caso a operação seja concluída. Erros do TLVReader quando o ResourceIdentifier não pode ser lido corretamente.

GetResourceId

uint64_t GetResourceId() const 

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

GetResourceType

uint16_t GetResourceType() const 

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

ResourceIdentifier

 ResourceIdentifier()

Construa 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
)

Construa 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
)

Construa 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 tamanho do ID em bytes

ResourceTypeAsString

const char * ResourceTypeAsString(
  void
) const 

Produz uma representação de string do ResourceType.

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

ToString

WEAVE_ERROR ToString(
  char *buffer,
  size_t bufferLen
)

Converter o ResourceIdentifier em uma string que pode ser impressa.

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 Path::ResourceID de contexto.

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 

Serializa 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
)

Produz uma representação de string de um tipo de recurso.

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

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

Classes de amizade

operador==

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