O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.

nl :: Tecer:: Perfis :: DeviceDescription :: WeaveDeviceDescriptor

#include <src/lib/profiles/device-description/DeviceDescription.h>

Contém informações descritivas sobre um dispositivo Weave.

Resumo

Construtores e Destruidores

WeaveDeviceDescriptor (void)

Tipos públicos

@180 {
kMaxSerialNumberLength = 32,
kMaxPairingCodeLength = 16,
kMaxRendezvousWiFiESSID = 32,
kMaxSoftwareVersionLength = WEAVE_CONFIG_MAX_SOFTWARE_VERSION_LENGTH
}
enum
Define o comprimento máximo de alguns atributos.
@181 {
kFeature_HomeAlarmLinkCapable = 0x00000001,
kFeature_LinePowered = 0x00000002
}
enum
Sinalizadores de recursos indicando recursos específicos do dispositivo.
@182 {
kFlag_IsRendezvousWiFiESSIDSuffix = 0x01
}
enum
Definições de campo de sinalizadores.

Atributos públicos

Day
uint8_t
Dia de fabricação do dispositivo (0 = ausente)
DeviceFeatures
uint32_t
Campo de bits indicando suporte para recursos específicos do dispositivo.
DeviceId
uint64_t
ID do dispositivo Weave (0 = não presente)
FabricId
uint64_t
ID do tecido Weave ao qual o dispositivo pertence (0 = ausente)
Flags
uint8_t
Campo de bits contendo informações adicionais sobre o dispositivo.
ManufacturingDate
struct nl::Weave::Profiles::DeviceDescription::WeaveDeviceDescriptor::@183
Month
uint8_t
Mês de fabricação do dispositivo (1 = janeiro)
PairingCode [kMaxPairingCodeLength+1]
char
Código de emparelhamento de dispositivo (NUL terminado, comprimento 0 = não presente)
PairingCompatibilityVersionMajor
uint16_t
Versão de compatibilidade do software de emparelhamento de dispositivo principal.
PairingCompatibilityVersionMinor
uint16_t
Versão de compatibilidade do software de emparelhamento de dispositivo secundário.
Primary802154MACAddress [8]
uint8_t
Endereço MAC para a interface 802.15.4 primária (big-endian, todos os zeros = ausente)
PrimaryWiFiMACAddress [6]
uint8_t
Endereço MAC para interface WiFi primária (big-endian, todos os zeros = ausente)
ProductId
uint16_t
Código do produto do dispositivo (0 = ausente)
ProductRevision
uint16_t
Revisão do produto do dispositivo (0 = não presente)
RendezvousWiFiESSID [kMaxRendezvousWiFiESSID+1]
char
ESSID para rede de encontro WiFi do dispositivo (NUL terminado, comprimento 0 = ausente)
SerialNumber [kMaxSerialNumberLength+1]
char
Número de série do dispositivo (NUL terminado, comprimento 0 = ausente)
SoftwareVersion [kMaxSoftwareVersionLength+1]
char
Versão do software ativo (NUL terminado, comprimento 0 = não presente)
VendorId
uint16_t
Código do fornecedor do dispositivo (0 = ausente)
Year
uint16_t
Ano de fabricação do dispositivo (intervalo válido de 2001 a 2099)

Funções públicas

Clear (void)
void
Limpa a descrição do dispositivo.

Funções estáticas públicas

Decode (const uint8_t *data, uint32_t dataLen, WeaveDeviceDescriptor & outDesc)
Decodifica o conteúdo do buffer de dados fornecido em um objeto Weave Device Descriptor.
DecodeTLV (const uint8_t *data, uint32_t dataLen, WeaveDeviceDescriptor & outDesc)
Descodifica o conteúdo da fornecida TLV tampão de dados para um descritor de dispositivo objecto tecer.
DecodeTLV (nl::Weave::TLV::TLVReader & reader, WeaveDeviceDescriptor & outDesc)
Decodifica a descrição do dispositivo usando o TLVReader pré-inicializado fornecido.
DecodeText (const char *data, uint32_t dataLen, WeaveDeviceDescriptor & outDesc)
Decodifica o conteúdo do buffer de dados de texto fornecido em um objeto Weave Device Descriptor.
EncodeTLV (const WeaveDeviceDescriptor & desc, uint8_t *buf, uint32_t bufLen, uint32_t & outEncodedLen)
Codifica o descritor dispositivo fornecido como tecer TLV escrito para o tampão fornecido.
EncodeTLV (const WeaveDeviceDescriptor & desc,nl::Weave::TLV::TLVWriter & writer)
Codifica o descritor dispositivo fornecido como tecer TLV escrita utilizando o objecto TLVWriter pré-inicializada fornecida.
EncodeText (const WeaveDeviceDescriptor & desc, char *buf, uint32_t bufLen, uint32_t & outEncodedLen)
Codifica o descritor de dispositivo fornecido como texto escrito no buffer fornecido.
IsZeroBytes (const uint8_t *buf, uint32_t len)
bool
Verifique se o buffer especificado contém apenas zeros.

Tipos públicos

@ 180

 @180

Define o comprimento máximo de alguns atributos.

Propriedades
kMaxPairingCodeLength

Comprimento máximo do código de emparelhamento.

kMaxRendezvousWiFiESSID

WiFi ESSID máximo para duração do encontro.

kMaxSerialNumberLength

Comprimento máximo do número de série.

kMaxSoftwareVersionLength

Comprimento máximo da versão do software.

@ 181

 @181

Sinalizadores de recursos que indicam recursos específicos do dispositivo.

Propriedades
kFeature_HomeAlarmLinkCapable

Indica um Nest Protect compatível com conexão a um painel de alarme residencial.

kFeature_LinePowered

Indica um dispositivo que requer alimentação de linha.

@ 182

 @182

Definições de campo de sinalizadores.

Propriedades
kFlag_IsRendezvousWiFiESSIDSuffix

Indica que o valor RendezvousWiFiESSID é uma string de sufixo que aparece no final do ESSID da rede de encontro WiFi do dispositivo.

Atributos públicos

Dia

uint8_t Day

Dia de fabricação do dispositivo (0 = ausente)

DeviceFeatures

uint32_t DeviceFeatures

Campo de bits indicando suporte para recursos específicos do dispositivo.

Identificador do dispositivo

uint64_t DeviceId

ID do dispositivo Weave (0 = não presente)

FabricId

uint64_t FabricId

ID do tecido Weave ao qual o dispositivo pertence (0 = ausente)

Bandeiras

uint8_t Flags

Campo de bits contendo informações adicionais sobre o dispositivo.

Data de fabricação

struct nl::Weave::Profiles::DeviceDescription::WeaveDeviceDescriptor::@183 ManufacturingDate

Mês

uint8_t Month

Mês de fabricação do dispositivo (1 = janeiro)

PairingCode

char PairingCode[kMaxPairingCodeLength+1]

Código de emparelhamento de dispositivo (NUL terminado, comprimento 0 = não presente)

PairingCompatibilityVersionMajor

uint16_t PairingCompatibilityVersionMajor

Versão de compatibilidade do software de emparelhamento de dispositivo principal.

PairingCompatibilityVersionMinor

uint16_t PairingCompatibilityVersionMinor

Versão de compatibilidade do software de emparelhamento de dispositivo secundário.

Primary802154MACAddress

uint8_t Primary802154MACAddress[8]

Endereço MAC para interface 802.15.4 primária (big-endian, todos os zeros = ausente)

PrimaryWiFiMACAddress

uint8_t PrimaryWiFiMACAddress[6]

Endereço MAC para interface WiFi primária (big-endian, todos os zeros = ausente)

ID do produto

uint16_t ProductId

Código do produto do dispositivo (0 = não presente)

Revisão do Produto

uint16_t ProductRevision

Revisão do produto do dispositivo (0 = ausente)

RendezvousWiFiESSID

char RendezvousWiFiESSID[kMaxRendezvousWiFiESSID+1]

ESSID para rede de encontro WiFi do dispositivo (NUL terminado, comprimento 0 = ausente)

Número de série

char SerialNumber[kMaxSerialNumberLength+1]

Número de série do dispositivo (NUL terminado, comprimento 0 = ausente)

Versão do software

char SoftwareVersion[kMaxSoftwareVersionLength+1]

Versão do software ativo (NUL terminado, comprimento 0 = não presente)

VendorId

uint16_t VendorId

Código do fornecedor do dispositivo (0 = ausente)

Ano

uint16_t Year

Ano de fabricação do dispositivo (intervalo válido de 2001 a 2099)

Funções públicas

Claro

void Clear(
  void
)

Limpa a descrição do dispositivo.

WeaveDeviceDescriptor

 WeaveDeviceDescriptor(
  void
)

Funções estáticas públicas

Decodificar

WEAVE_ERROR Decode(
  const uint8_t *data,
  uint32_t dataLen,
  WeaveDeviceDescriptor & outDesc
)

Decodifica o conteúdo do buffer de dados fornecido em um objeto Weave Device Descriptor.

Detalhes
Parâmetros
[in] data
Um apontador para um texto contendo tampão ou TLV codificado do dispositivo tecer dados do descritor.
[in] dataLen
O comprimento do buffer fornecido.
[out] outDesc
Uma referência ao objeto Descritor de Dispositivo a ser preenchido.
Valores Retornados
WEAVE_ERROR_INVALID_DEVICE_DESCRIPTOR
Se o buffer fornecido for inválido.
WEAVE_NO_ERROR
Com sucesso.
other
Outros códigos de erro tecer ou específicos de plataforma, indicando que ocorreu um erro impedindo a descodificação do TLV .

DecodeTLV

WEAVE_ERROR DecodeTLV(
  const uint8_t *data,
  uint32_t dataLen,
  WeaveDeviceDescriptor & outDesc
)

Descodifica o conteúdo da fornecida TLV tampão de dados para um descritor de dispositivo objecto tecer.

Detalhes
Parâmetros
[in] data
Um ponteiro para um buffer que contém dados do Descritor de Dispositivo Weave codificados por texto.
[in] dataLen
O comprimento do buffer fornecido.
[out] outDesc
Uma referência ao objeto Descritor de Dispositivo a ser preenchido.
Valores Retornados
WEAVE_ERROR_WRONG_TLV_TYPE
Se isso não for Device Description TLV .
WEAVE_ERROR_UNEXPECTED_TLV_ELEMENT
Se mais TLV dados é encontrado após a descrição do dispositivo.
WEAVE_NO_ERROR
Com sucesso.
other
Outros códigos de erro tecer ou específicos de plataforma, indicando que ocorreu um erro prevenir a codificação do TLV .

DecodeTLV

WEAVE_ERROR DecodeTLV(
  nl::Weave::TLV::TLVReader & reader,
  WeaveDeviceDescriptor & outDesc
)

Decodifica a descrição do dispositivo usando o TLVReader pré-inicializado fornecido.

Detalhes
Parâmetros
[in] reader
Uma referência ao TLVReader pré-inicializado.
[out] outDesc
Uma referência ao objeto Descritor de Dispositivo a ser preenchido.
Valores Retornados
WEAVE_ERROR_INVALID_TLV_ELEMENT
Se inválido Device Description informação é encontrada na TLV dados.
WEAVE_NO_ERROR
Com sucesso.
other
Outros códigos de erro tecer ou específicos de plataforma, indicando que ocorreu um erro que impediu a descodificação do TLV .

DecodeText

WEAVE_ERROR DecodeText(
  const char *data,
  uint32_t dataLen,
  WeaveDeviceDescriptor & outDesc
)

Decodifica o conteúdo do buffer de dados de texto fornecido em um objeto Weave Device Descriptor.

Detalhes
Parâmetros
[in] data
Um ponteiro para um buffer que contém dados do Descritor de Dispositivo Weave codificados por texto.
[in] dataLen
O comprimento do buffer fornecido.
[out] outDesc
Uma referência ao objeto Descritor de Dispositivo a ser preenchido.
Valores Retornados
WEAVE_ERROR_UNSUPPORTED_DEVICE_DESCRIPTOR_VERSION
Se a versão dos dados codificados não for compatível.
WEAVE_ERROR_INVALID_DEVICE_DESCRIPTOR
Se os dados codificados não estiverem formatados corretamente.
WEAVE_ERROR_INCORRECT_STATE
Se um estado inconsistente for encontrado pelo decodificador.
WEAVE_ERROR_BUFFER_TOO_SMALL
Se o fim do buffer for atingido durante a decodificação.
WEAVE_NO_ERROR
Com sucesso.

EncodeTLV

WEAVE_ERROR EncodeTLV(
  const WeaveDeviceDescriptor & desc,
  uint8_t *buf,
  uint32_t bufLen,
  uint32_t & outEncodedLen
)

Codifica o descritor dispositivo fornecido como tecer TLV escrito para o tampão fornecido.

Detalhes
Parâmetros
[in] desc
Uma referência ao Descritor de Dispositivo Weave para codificar.
[out] buf
Um ponteiro para um buffer onde o texto codificado será escrito.
[in] bufLen
O comprimento do buffer fornecido.
[out] outEncodedLen
Uma referência à variável de comprimento que será substituída pelo número de caracteres gravados no buffer.
Valores Retornados
WEAVE_NO_ERROR
Com sucesso.
other
Outros códigos de erro tecer ou específicos de plataforma, indicando que ocorreu um erro prevenir a codificação do TLV .

EncodeTLV

WEAVE_ERROR EncodeTLV(
  const WeaveDeviceDescriptor & desc,
  nl::Weave::TLV::TLVWriter & writer
)

Codifica o descritor dispositivo fornecido como tecer TLV escrita utilizando o objecto TLVWriter pré-inicializada fornecida.

Isto é usado para adicionar a descrição do dispositivo para maior TLV saída.

Detalhes
Parâmetros
[in] desc
Uma referência ao Descritor de Dispositivo Weave para codificar.
[in] writer
Uma referência ao objeto TLVWriter pré-inicializado a ser usado.
Valores Retornados
WEAVE_NO_ERROR
Com sucesso.
other
Outros códigos de erro tecer ou específicos de plataforma, indicando que ocorreu um erro prevenir a codificação do TLV .

EncodeText

WEAVE_ERROR EncodeText(
  const WeaveDeviceDescriptor & desc,
  char *buf,
  uint32_t bufLen,
  uint32_t & outEncodedLen
)

Codifica o descritor de dispositivo fornecido como texto escrito no buffer fornecido.

Detalhes
Parâmetros
[in] desc
Uma referência ao Descritor de Dispositivo Weave para codificar.
[out] buf
Um ponteiro para um buffer onde o texto codificado será escrito.
[in] bufLen
O comprimento do buffer fornecido.
[out] outEncodedLen
Uma referência à variável de comprimento que será substituída pelo número de caracteres gravados no buffer.
Valores Retornados
WEAVE_ERROR_BUFFER_TOO_SMALL
Se o buffer fornecido for muito pequeno para a descrição do texto gerado.
WEAVE_ERROR_INVALID_ARGUMENT
Se um campo descritor for inválido.
WEAVE_NO_ERROR
Com sucesso.

IsZeroBytes

bool IsZeroBytes(
  const uint8_t *buf,
  uint32_t len
)

Verifique se o buffer especificado contém apenas zeros.

Detalhes
Parâmetros
[in] buf
Um ponteiro para um buffer.
[in] len
O comprimento do buffer.
Valores Retornados
TRUE
Se o buffer contém apenas zeros.
FALSE
Se o buffer contém algum valor diferente de zero.