nl::Weave::Profiles::DataManagement_Legacy

Esse namespace inclui todas as interfaces do Weave para o perfil Weave Data Management (WDM) que estão prestes a serem descontinuados.

Resumo

Enumerações

@103{
  kStatus_CancelSuccess = 0x0001,
  kStatus_InvalidPath = 0x0013,
  kStatus_UnknownTopic = 0x0014,
  kStatus_IllegalReadRequest = 0x0015,
  kStatus_IllegalWriteRequest = 0x0016,
  kStatus_InvalidVersion = 0x0017,
  kStatus_UnsupportedSubscriptionMode = 0x0018
}
enum
@166{
  kViewPoolSize = WEAVE_CONFIG_WDM_VIEW_POOL_SIZE,
  kSubscribePoolSize = WEAVE_CONFIG_WDM_SUBSCRIBE_POOL_SIZE,
  kCancelSubscriptionPoolSize = WEAVE_CONFIG_WDM_CANCEL_SUBSCRIPTION_POOL_SIZE,
  kUpdatePoolSize = WEAVE_CONFIG_WDM_UPDATE_POOL_SIZE,
  kNotifyPoolSize = WEAVE_CONFIG_WDM_NOTIFY_POOL_SIZE,
  kTransactionTableSize = WEAVE_CONFIG_WDM_TRANSACTION_TABLE_SIZE,
  kBindingTableSize = WEAVE_CONFIG_WDM_BINDING_TABLE_SIZE,
  kNotifierTableSize = WEAVE_CONFIG_WDM_NOTIFIER_TABLE_SIZE,
  kSubscriptionMgrTableSize = WEAVE_CONFIG_WDM_SUBSCRIPTION_MGR_TABLE_SIZE
}
enum
Tamanhos de pool e de tabela do WDM.
@167{
  kMsgType_ViewRequest = 0x10,
  kMsgType_ViewResponse = 0x11,
  kMsgType_SubscribeRequest = 0x12,
  kMsgType_SubscribeResponse = 0x13,
  kMsgType_CancelSubscriptionRequest = 0x14,
  kMsgType_UpdateRequest = 0x15,
  kMsgType_NotifyRequest = 0x16,
  kMsgType_ViewRequest_Deprecated = 0x00,
  kMsgType_ViewResponse_Deprecated = 0x01,
  kMsgType_SubscribeRequest_Deprecated = 0x02,
  kMsgType_SubscribeResponse_Deprecated = 0x03,
  kMsgType_CancelSubscriptionRequest_Deprecated = 0x04,
  kMsgType_UpdateRequest_Deprecated = 0x05,
  kMsgType_NotifyRequest_Deprecated = 0x06
}
enum
Os tipos de mensagem do perfil do WDM.
@168{
  kTransactionIdNotSpecified = 0,
  kResponseTimeoutNotSpecified = 0,
  kVersionNotSpecified = 0xFFFFFFFFFFFFFFFFULL,
  kInstanceIdNotSpecified = 0,
  kDefaultBindingTableIndex = 0,
  kWeaveTLVTagLen = 8,
  kWeaveTLVControlByteLen = 1
}
enum
Constantes diversas específicas do WDM.
@169{
  kStatus_CancelSuccess = 0x0001,
  kStatus_InvalidPath = 0x0013,
  kStatus_UnknownTopic = 0x0014,
  kStatus_IllegalReadRequest = 0x0015,
  kStatus_IllegalWriteRequest = 0x0016,
  kStatus_InvalidVersion = 0x0017,
  kStatus_UnsupportedSubscriptionMode = 0x0018
}
enum
Códigos de status específicos do WDM.
@170{
  kTag_WDMPathList = 100,
  kTag_WDMPathProfile = 101,
  kTag_WDMPathProfileId = 1,
  kTag_WDMPathProfileInstance = 2,
  kTag_WDMPathProfileId_Deprecated = 102,
  kTag_WDMPathProfileInstance_Deprecated = 103,
  kTag_WDMPathArrayIndexSelector = 104,
  kTag_WDMPathArrayValueSelector = 105,
  kTag_WDMDataList = 200,
  kTag_WDMDataListElementPath = 3,
  kTag_WDMDataListElementVersion = 4,
  kTag_WDMDataListElementData = 5,
  kTag_WDMDataListElementPath_Deprecated = 201,
  kTag_WDMDataListElementVersion_Deprecated = 202,
  kTag_WDMDataListElementData_Deprecated = 203
}
enum
as Tags do protocolo de gerenciamento de dados.
@171{
  kTopicIdPublisherSpecificMask = 0xFFFF000000000000ULL,
  kTopicIdNotSpecified = 0x0000000000000000ULL,
  kAnyTopicId = 0xFFFFFFFFFFFFFFFFULL
}
enum
IDs de tópicos distintos.
WeaveTransportOption{
  kTransport_TCP = 1,
  kTransport_WRMP = 2,
  kTransport_UDP = 3
}
enum
Opções de transporte do WDM.

Typedefs

TopicIdentifier typedef
uint64_t
O identificador do tópico.

remotas

CheckTLVType(nl::Weave::TLV::TLVType aType, nl::Weave::TLV::TLVReader & aReader)
bool
Verifique se o elemento TLV que está sendo lido tem o tipo TLV esperado.
CheckWDMTag(uint32_t aTagNum, nl::Weave::TLV::TLVReader & aReader)
bool
Verifique uma tag específica do WDM.
CloseDataListElement(nl::Weave::TLV::TLVReader & aReader)
Interrompe a leitura de um elemento da lista de dados do WDM.
CloseList(nl::Weave::TLV::TLVReader & aReader)
Interrompa a leitura de um caminho ou uma lista de dados do WDM.
EncodeDeprecatedPath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint64_t & aInstanceId, uint32_t aPathLen, ...)
Codifique um caminho WDM com tags descontinuadas e um ID de instância em números inteiros.
EncodeDeprecatedPath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const char *aInstanceId, uint32_t aPathLen, ...)
Codifique um caminho WDM com tags descontinuadas e um ID de instância da string.
EncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint64_t & aInstanceId, uint32_t aPathLen, ...)
Codifique um caminho WDM com um ID de instância de perfil inteiro.
EncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint32_t aInstanceIdLen, const uint8_t *aInstanceId, uint32_t aPathLen, ...)
Codifique um caminho WDM com um ID de instância da matriz de bytes.
EncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const char *aInstanceId, uint32_t aPathLen, ...)
Codifique um caminho WDM com um ID de instância da string.
EndDataListElement(nl::Weave::TLV::TLVWriter & aWriter)
Termine de gravar um elemento da lista de dados.
EndEncodePath(TLVWriter & aWriter, TLVType & mOuterContainer, WEAVE_ERROR mError)
EndList(nl::Weave::TLV::TLVWriter & aWriter)
Termine de gravar uma lista de caminhos ou de dados.
EndList(ReferencedTLVData & aList, nl::Weave::TLV::TLVWriter & aWriter)
Termine de gravar uma lista de caminhos ou de dados.
IsPublisherSpecific(const TopicIdentifier & aTopicId)
bool
Verificar se um ID de tópico é específico do editor.
OpenDataList(ReferencedTLVData & aDataList, nl::Weave::TLV::TLVReader & aReader)
Comece a ler uma lista de dados.
OpenDataListElement(nl::Weave::TLV::TLVReader & aReader, nl::Weave::TLV::TLVReader & aPathReader, uint64_t & aVersion)
Comece a ler um elemento da lista de dados.
OpenPathList(ReferencedTLVData & aPathList, nl::Weave::TLV::TLVReader & aReader)
Comece a ler uma lista de caminhos.
PublisherSpecificTopicId(void)
Gerar um ID de tópico específico do editor do zero.
SendStatusReport(ExchangeContext *aExchangeCtx, StatusReport & aStatus)
StartDataList(nl::Weave::TLV::TLVWriter & aWriter)
Comece a escrever uma lista de dados.
StartDataList(ReferencedTLVData & aDataList, nl::Weave::TLV::TLVWriter & aWriter)
Comece a gravar uma lista de dados para um determinado objeto ReferencedTLVData.
StartDataListElement(nl::Weave::TLV::TLVWriter & aWriter)
Comece a gravar um elemento da lista de dados.
StartEncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, TLVType & mOuterContainer, TLVType & mPath)
StartPathList(nl::Weave::TLV::TLVWriter & aWriter)
Comece a escrever uma lista de caminhos.
TxnResponseHandler(ExchangeContext *anExchangeCtx, const IPPacketInfo *anAddrInfo, const WeaveMessageInfo *aMsgInfo, uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aMsg)
void
TxnTimeoutHandler(ExchangeContext *anExchangeCtx)
void
ValidateTLVType(nl::Weave::TLV::TLVType aType, nl::Weave::TLV::TLVReader & aReader)
Valide se um elemento TLV que está sendo lido tem o tipo TLV esperado.
ValidateWDMTag(uint32_t aTagNum, nl::Weave::TLV::TLVReader & aReader)
Confira se um elemento TLV que está sendo lido tem a tag WDM esperada.

Aulas

nl::Weave::Profiles::DataManagement_Legacy::Binding

A classe Binding gerencia o estado de comunicações em nome de uma entidade de aplicativo usando o Weave.

nl::Weave::Profiles::DataManagement_Legacy::ClientDataManager

Uma classe abstrata que contém definições de método de confirmação e indicação exigidas pelo cliente do WDM.

nl::Weave::Profiles::DataManagement_Legacy::ClientNotifier

Uma classe auxiliar empregada quando o suporte a assinatura e notificação é desejado em um cliente WDM.

nl::Weave::Profiles::DataManagement_Legacy::DMClient

A classe base abstrata para clientes WDM específicos do aplicativo.

nl::Weave::Profiles::DataManagement_Legacy::DMPublisher

A classe base abstrata para editores do WDM específicos de aplicativos.

nl::Weave::Profiles::DataManagement_Legacy::ProfileDatabase

A classe auxiliar ProfileDatabase abstrata.

nl::Weave::Profiles::DataManagement_Legacy::ProtocolEngine

A classe de mecanismo do protocolo WDM.

nl::Weave::Profiles::DataManagement_Legacy::PublisherDataManager

Uma classe abstrata que contém definições de métodos de confirmação e notificação exigidas pelo editor do WDM.

Enumerações

@103

 @103
Propriedades
kStatus_CancelSuccess

Este código de status legado significa que uma assinatura foi cancelada.

Esse código de status significa que uma assinatura foi cancelada.

kStatus_IllegalReadRequest

Esse código de status legado significa que o nó que fez a solicitação para ler um determinado item de dados não tem permissão para fazer isso.

Esse código de status significa que o nó que fez a solicitação para ler um item de dados específico não tem permissão para fazer isso.

kStatus_IllegalWriteRequest

Esse código de status legado significa que o nó que fez uma solicitação para gravar um determinado item de dados não tem permissão para fazer isso.

Esse código de status significa que o nó que fez a solicitação para gravar um item de dados específico não tem permissão para fazer isso.

kStatus_InvalidPath

Esse código de status legado significa que um caminho da lista de caminhos de um frame de solicitação de visualização ou atualização não corresponde ao esquema residente do nó do participante.

Esse código de status significa que um caminho da lista de caminhos de um frame de solicitação de visualização ou atualização não corresponde ao esquema residente do nó do participante.

kStatus_InvalidVersion

Esse código de status legado significa que a versão dos dados incluídos em uma solicitação de atualização não corresponde à versão mais recente do editor. Por isso, não foi possível aplicar a atualização.

Esse código de status significa que a versão dos dados incluídos em uma solicitação de atualização não corresponde à versão mais recente do editor. Por isso, não foi possível aplicar a atualização.

kStatus_UnknownTopic

Esse código de status legado significa que o identificador de tópico fornecido em uma solicitação ou notificação de cancelamento não corresponde a nenhuma assinatura existente no nó de recebimento.

Esse código de status significa que o identificador de tópico fornecido em uma solicitação ou notificação de cancelamento não corresponde a nenhuma assinatura existente no nó de recebimento.

kStatus_UnsupportedSubscriptionMode

Esse código de status legado significa que o modo de assinatura solicitado não é compatível com o dispositivo de destino.

Esse código de status significa que o modo de assinatura solicitado não é compatível com o dispositivo receptor.

@166

 @166

Tamanhos de pool e de tabela do WDM.

O WDM define vários pools e tabelas necessários para funcionar conforme mostrado a seguir.

Pools de transações do cliente:

  • kViewPoolSize
  • kSubscribePoolSize
  • kCancelSubscriptionPoolSize
  • kUpdatePoolSize

Pools de transações do editor:

  • kNotifyPoolSize

Tabelas de mecanismo de protocolo:

  • kTransactionTableSize
  • kBindingTableSize

Tabelas relacionadas a assinaturas:

  • kNotifierTableSize (somente cliente)
  • kSubscriptionMgrTableSize (somente editor)

Essas quantidades são configuráveis, e os valores por plataforma aparecem no WeaveConfig.h associado.

Propriedades
kBindingTableSize

Este é o tamanho padrão da tabela de vinculação no mecanismo do protocolo WDM.

Esse valor pode ser configurado por meio de WEAVE_CONFIG_WDM_BINDING_TABLE_SIZE.

kCancelSubscriptionPoolSize

Esse é o tamanho padrão do pool de transações de solicitações de cancelamento de assinatura para um cliente WDM.

Esse valor pode ser configurado por meio de WEAVE_CONFIG_WDM_CANCEL_SUBSCRIPTION_POOL_SIZE.

kNotifierTableSize

Esse é o tamanho padrão da tabela de notificações para clientes WDM.

Esse valor pode ser configurado por meio de WEAVE_CONFIG_WDM_NOTIFIER_TABLE_SIZE.

kNotifyPoolSize

Esse é o tamanho padrão do pool de transações de solicitação de notificação para um editor do WDM.

Esse valor pode ser configurado por meio de WEAVE_CONFIG_WDM_NOTIFY_POOL_SIZE.

kSubscribePoolSize

Esse é o tamanho padrão do pool de transações de solicitação de inscrição para um cliente WDM.

Este valor pode ser configurado por meio de WEAVE_CONFIG_WDM_SUBSCRIBE_POOL_SIZE.

kSubscriptionMgrTableSize

Esse é o tamanho padrão da tabela de assinaturas para editores do WDM.

Esse valor pode ser configurado por meio de WEAVE_CONFIG_WDM_SUBSCRIPTION_MGR_TABLE_SIZE.

kTransactionTableSize

Este é o tamanho padrão da tabela de transações no mecanismo do protocolo WDM.

Esse valor pode ser configurado por meio de WEAVE_CONFIG_WDM_TRANSACTION_TABLE_SIZE.

kUpdatePoolSize

Esse é o tamanho padrão do pool de transações de solicitação de atualização para um cliente WDM.

Esse valor pode ser configurado por meio de WEAVE_CONFIG_WDM_UPDATE_POOL_SIZE.

kViewPoolSize

Esse é o tamanho padrão do pool de transações de solicitações de visualização para um cliente WDM.

Esse valor pode ser configurado por meio de WEAVE_CONFIG_WDM_VIEW_POOL_SIZE.

@167

 @167

Os tipos de mensagem do perfil do WDM.

Esses valores são chamados na especificação do gerenciamento de dados.

OBSERVAÇÃO: No primeiro trimestre de 2015, os tipos de mensagens usados nas versões anteriores do WDM foram descontinuados e novos tipos foram definidos, refletindo uma mudança suficiente com detalhes anteriores de empacotamento e análise para justificar uma pausa limpa.

Propriedades
kMsgType_CancelSubscriptionRequest

Mensagem de solicitação de cancelamento de assinatura.

kMsgType_CancelSubscriptionRequest_Deprecated

descontinuado

kMsgType_NotifyRequest

Mensagem de solicitação de notificação.

kMsgType_NotifyRequest_Deprecated

descontinuado

kMsgType_SubscribeRequest

Mensagem de solicitação de inscrição.

kMsgType_SubscribeRequest_Deprecated

descontinuado

kMsgType_SubscribeResponse

Mensagem de resposta da assinatura.

kMsgType_SubscribeResponse_Deprecated

descontinuado

kMsgType_UpdateRequest

Mensagem de solicitação de atualização.

kMsgType_UpdateRequest_Deprecated

descontinuado

kMsgType_ViewRequest

Ver mensagem de solicitação.

kMsgType_ViewRequest_Deprecated

descontinuado

kMsgType_ViewResponse

Ver mensagem de resposta.

kMsgType_ViewResponse_Deprecated

descontinuado

@168

 @168

Constantes diversas específicas do WDM.

Propriedades
kDefaultBindingTableIndex

O índice da vinculação padrão em uma tabela de vinculação do mecanismo de protocolo com mais de uma entrada.

kInstanceIdNotSpecified

Em chamadas que exigem uma especificação de instância de perfil, indica "nenhum".

Na maioria das vezes, isso significa que apenas uma instância do perfil está presente na entidade em questão.

kResponseTimeoutNotSpecified

Em métodos que solicitam uma transação, indica que o autor da chamada se recusou a especificar um tempo limite.

Geralmente, isso significa que um padrão deve ser usado.

kTransactionIdNotSpecified

Em métodos e estruturas de dados que recebem um ID de transação, indica "nenhum" ou um valor curinga.

kVersionNotSpecified

Em chamadas que exigem a especificação de uma versão de dados, indica "nenhuma versão específica".

kWeaveTLVControlByteLen

O tamanho de um byte de controle TLV, usado em métodos de suporte que codificam estruturas WDM em TLV.

kWeaveTLVTagLen

O tamanho padrão em bytes de uma tag TLV totalmente qualificada, usado em métodos de suporte que codificam estruturas WDM em TLV.

@169

 @169

Códigos de status específicos do WDM.

Propriedades
kStatus_CancelSuccess

Este código de status legado significa que uma assinatura foi cancelada.

Esse código de status significa que uma assinatura foi cancelada.

kStatus_IllegalReadRequest

Esse código de status legado significa que o nó que fez a solicitação para ler um determinado item de dados não tem permissão para fazer isso.

Esse código de status significa que o nó que fez a solicitação para ler um item de dados específico não tem permissão para fazer isso.

kStatus_IllegalWriteRequest

Esse código de status legado significa que o nó que fez uma solicitação para gravar um determinado item de dados não tem permissão para fazer isso.

Esse código de status significa que o nó que fez a solicitação para gravar um item de dados específico não tem permissão para fazer isso.

kStatus_InvalidPath

Esse código de status legado significa que um caminho da lista de caminhos de um frame de solicitação de visualização ou atualização não corresponde ao esquema residente do nó do participante.

Esse código de status significa que um caminho da lista de caminhos de um frame de solicitação de visualização ou atualização não corresponde ao esquema residente do nó do participante.

kStatus_InvalidVersion

Esse código de status legado significa que a versão dos dados incluídos em uma solicitação de atualização não corresponde à versão mais recente do editor. Por isso, não foi possível aplicar a atualização.

Esse código de status significa que a versão dos dados incluídos em uma solicitação de atualização não corresponde à versão mais recente do editor. Por isso, não foi possível aplicar a atualização.

kStatus_UnknownTopic

Esse código de status legado significa que o identificador de tópico fornecido em uma solicitação ou notificação de cancelamento não corresponde a nenhuma assinatura existente no nó de recebimento.

Esse código de status significa que o identificador de tópico fornecido em uma solicitação ou notificação de cancelamento não corresponde a nenhuma assinatura existente no nó de recebimento.

kStatus_UnsupportedSubscriptionMode

Esse código de status legado significa que o modo de assinatura solicitado não é compatível com o dispositivo de destino.

Esse código de status significa que o modo de assinatura solicitado não é compatível com o dispositivo receptor.

@170

 @170

as Tags do protocolo de gerenciamento de dados.

O protocolo de gerenciamento de dados define um número de tags a serem usadas na representação TLV dos dados de perfil.

Como sempre, há problemas de compatibilidade entre o WDM novo e o antigo. Antigamente, todas essas tags eram aplicadas como específicas do perfil, o que era um desperdício de espaço. Agora usamos tags de contexto sempre que possível, mas precisamos manter as antigas por perto (e ter um mecanismo para codificar caminhos com elas) quando apropriado.

A tag kTag_WDMDataListElementData não foi usada em versões anteriores e foi completamente ignorada pelo código. Por isso, não precisamos fornecer uma versão descontinuada.

Propriedades
kTag_WDMDataList

O elemento é uma lista de estruturas que contêm um caminho, uma versão opcional e elementos de dados.

Tipo de tag: específico do perfil Tipo de elemento: disposição de matriz: nível superior

kTag_WDMDataListElementData

O elemento representa os dados apontados por determinado caminho e tendo a versão determinada.

Tipo de tag: específico do contexto Tipo de elemento: qualquer disposição: obrigatório

kTag_WDMDataListElementData_Deprecated

Obsoleto.

Tipo de tag: específico do contexto Tipo de elemento: qualquer disposição: obrigatório

kTag_WDMDataListElementPath

O elemento é o componente do caminho de um elemento da lista de dados.

Tipo de tag: específico do contexto Tipo de elemento: disposição do caminho: obrigatório

kTag_WDMDataListElementPath_Deprecated

Obsoleto.

Tipo de tag: tipo de elemento específico do perfil: Disposição do caminho: obrigatório

kTag_WDMDataListElementVersion

O elemento é o componente da versão de um elemento da lista de dados.

Tipo de tag: específico do contexto Tipo de elemento: disposição de números inteiros: obrigatório

kTag_WDMDataListElementVersion_Deprecated

Obsoleto.

Tipo de tag: específico do perfil Tipo de elemento: número inteiro Disposição: obrigatório

kTag_WDMPathArrayIndexSelector

O elemento do caminho corresponde a uma matriz no esquema e o elemento inteiro contido deve ser usado como um índice para a matriz.

Tipo de tag: específico do perfil Tipo de elemento: número inteiro Disposição: opcional

kTag_WDMPathArrayValueSelector

O elemento do caminho corresponde a uma matriz no esquema, e o elemento encapsulado precisa ser usado como um seletor de registro.

Tipo de tag: específico do perfil Tipo de elemento: estrutura Disposição: opcional

kTag_WDMPathList

O elemento é uma lista de caminhos TLV.

Tipo de tag: específico do perfil Tipo de elemento: disposição de matriz: nível superior

kTag_WDMPathProfile

O elemento é uma estrutura usada para iniciar um caminho e contém as informações de perfil sob as quais as tags do caminho devem ser interpretadas.

Tipo de tag: específico do perfil Tipo de elemento: estrutura Disposição: obrigatório

kTag_WDMPathProfileId

O elemento é um componente de ID do perfil do elemento de perfil do caminho que inicia um caminho TLV.

Tipo de tag: específico do contexto Tipo de elemento: disposição de números inteiros: obrigatório

kTag_WDMPathProfileId_Deprecated

Obsoleto.

Tipo de tag: específico do perfil Tipo de elemento: número inteiro Disposição: obrigatório

kTag_WDMPathProfileInstance

O elemento é uma instância de perfil, que pode seguir o ID do perfil em um caminho TLV.

Um nó pode ou não ter várias instâncias de um determinado perfil. Caso haja apenas uma, esse elemento poderá ser omitido.

Tipo de tag: específico do contexto Tipo de elemento: qualquer disposição: opcional

kTag_WDMPathProfileInstance_Deprecated

Obsoleto.

Tipo de tag: específico do perfil Tipo de elemento: qualquer disposição: opcional

@171

 @171

IDs de tópicos distintos.

Há três IDs de tópicos distintos de interesse, e todos os três estão formatados como "específicos do editor".

Propriedades
kAnyTopicId

Isso é reservado como um ID de tópico de curinga.

kTopicIdNotSpecified

É um valor especial reservado para expressar um ID de tópico inválido ou curinga.

kTopicIdPublisherSpecificMask

Ele é usado como uma máscara para criar ou decompor um ID de topci.

WeaveTransportOption

 WeaveTransportOption

Opções de transporte do WDM.

Essas são opções de transporte mutuamente exclusivas para o WDM.

Propriedades
kTransport_TCP

O transporte é TCP.

A vinculação pode ser concluída usando o gerenciador de serviços ou diretamente pela camada de mensagem.

kTransport_UDP

O transporte é exclusivamente UDP.

kTransport_WRMP

O transporte é exclusivamente UDP, mas com melhorias de confiabilidade da "camada de suporte do aplicativo".

Typedefs

TopicIdentifier

uint64_t TopicIdentifier

O identificador do tópico.

Identificadores de tópicos são quantidades de 64 bits com dois usos/semânticas relacionados. Primeiro, eles podem ser usados como uma abreviação convencional para um conjunto conhecido de caminhos, por exemplo, "o detector de fumaça do Nest". Os IDs de tópicos usados dessa forma, assim como os identificadores de perfil, devem conter um código de fornecedor que evite conflitos entre IDs de tópicos escolhidos de forma autônoma por fornecedores diferentes, da seguinte forma:

bits 48 a 63 bits 0 a 47
ID do fornecedor Número do tópico
O segundo uso/semântica para identificadores de tópico aparece no caso de uma assinatura dinâmica entre um cliente WDM e um editor. Nesse caso, o editor deve sempre fornecer um ID de tópico exclusivo que represente a assinatura específica e deve fazer isso independentemente da assinatura ter sido solicitada usando um ID de tópico conhecido ou uma lista de caminhos arbitrários. Os identificadores de tópicos desse formulário são diferenciados por ter um código de fornecedor de 0xFFFF.

Consulte também:
WeaveVendorIdentifiers.hpp

remotas

CheckTLVType

bool CheckTLVType(
  nl::Weave::TLV::TLVType aType,
  nl::Weave::TLV::TLVReader & aReader
)

Verifique se o elemento TLV que está sendo lido tem o tipo TLV esperado.

Compare um determinado tipo de TLV em relação ao tipo de elemento na cabeça de um leitor de TLV.

Detalhes
Parâmetros
[in] aType
O TLVType a ser verificado em relação a um elemento específico
[in] aReader
Uma referência a um leitor de TLV posicionado no elemento a ser verificado
Retorna
true se o TLVType do elemento e o aType corresponderem.
Consulte também:
WeaveTLVTypes.h

CheckWDMTag

bool CheckWDMTag(
  uint32_t aTagNum,
  nl::Weave::TLV::TLVReader & aReader
)

Verifique uma tag específica do WDM.

Compare o número de uma tag específica do WDM, de .../data-management/DMConstants.h, em relação à tag real no cabeçalho de um leitor de TLV.

Detalhes
Parâmetros
[in] aTagNum
O número da tag a ser comparada com um elemento TLV específico.
[in] aReader
Uma referência a um leitor de TLV que aponta para o elemento a ser verificado.
Retorna
true iff aReader.GetTag() produz uma tag que corresponde a um dos formulários de tag esperados para o número de tag especificado.

CloseDataListElement

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

Interrompe a leitura de um elemento da lista de dados do WDM.

Esse método pressupõe que o elemento em questão faz parte de uma lista de dados do WDM e, por isso, transmite kTLVType_Array para ExitContainer().

Detalhes
Parâmetros
[in,out] aReader
Um leitor TLV posicionado em um elemento da lista de dados do WDM.
Retorna
WEAVE_NO_ERROR Em caso de êxito. Caso contrário, retorne um WEAVE_ERROR que reflete uma incapacidade de sair de um contêiner.

CloseList

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

Interrompa a leitura de um caminho ou uma lista de dados do WDM.

Esse método pressupõe que a lista em questão é o elemento TLV de nível mais elevado e, por isso, transmite kTLVType_Sructure para ExitContainer().

Detalhes
Parâmetros
[in,out] aReader
Um leitor de TLV posicionado em um caminho ou lista de dados do WDM.
Retorna
WEAVE_NO_ERROR Em caso de êxito. Caso contrário, retorne um WEAVE_ERROR que reflete uma incapacidade de sair de um contêiner.

EncodeDeprecatedPath

WEAVE_ERROR EncodeDeprecatedPath(
  TLVWriter & aWriter,
  const uint64_t & aTag,
  uint32_t aProfileId,
  const uint64_t & aInstanceId,
  uint32_t aPathLen,
  ...
)

Codifique um caminho WDM com tags descontinuadas e um ID de instância em números inteiros.

Observação:codifique um caminho usando o conjunto de tags com uso suspenso aceito pelo serviço antes da versão 2.0 do Weave. Essa versão do método usa um identificador de instância numérico. Esse método inicia um contêiner com ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfile) e insere o ID do perfil com ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileId_Deprecated). Em seguida, ele insere o ID da instância com ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileInstance_Deprecated). Essa é uma das versões descontinuadas para codificar um caminho e os novos designs devem evitar o uso desse formato.

Detalhes
Parâmetros
[in] aWriter
Uma referência ao gravador TLV usado para escrever o caminho.
[in] aTag
Uma referência à tag TLV totalmente qualificada que se aplica a esse caminho.
[in] aProfileId
O ID do perfil em que os elementos do caminho devem ser interpretados.
[in] aInstanceId
Uma referência ao ID da instância opcional do perfil a ser usado.
[in] aPathLen
O tamanho, possivelmente 0, da lista de elementos do caminho além do especificador inicial do perfil.
[in] ...
A lista opcional de comprimento variável de tags de caminho adicionais.
Retorna
WEAVE_NO_ERROR Em caso de êxito. Caso contrário, retorne um WEAVE_ERROR que reflete uma incapacidade de formatar o caminho fornecido.

EncodeDeprecatedPath

WEAVE_ERROR EncodeDeprecatedPath(
  TLVWriter & aWriter,
  const uint64_t & aTag,
  uint32_t aProfileId,
  const char *aInstanceId,
  uint32_t aPathLen,
  ...
)

Codifique um caminho WDM com tags descontinuadas e um ID de instância da string.

Observação:codifique um caminho usando o conjunto de tags com uso suspenso (consulte DMConstants.h). Essa versão do método usa uma string de ID de instância. Esse método inicia um contêiner com ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfile) e insere o ID do perfil com ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileId_Deprecated). Em seguida, ele insere o ID da instância com ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileInstance_Deprecated). Essa é uma das versões descontinuadas para codificar um caminho e os novos designs devem evitar o uso desse formato.

Detalhes
Parâmetros
[in] aWriter
Uma referência ao gravador TLV usado para escrever o caminho.
[in] aTag
Uma referência à tag TLV totalmente qualificada que se aplica a esse caminho.
[in] aProfileId
O ID do perfil em que os elementos do caminho devem ser interpretados.
[in] aInstanceId
A string opcional usada como um identificador de instância de perfil. Este argumento poderá ser NULL se nenhum ID de instância for especificado.
[in] aPathLen
O tamanho, possivelmente 0, da lista de elementos do caminho além do especificador inicial do perfil.
[in] ...
Lista opcional de comprimento variável de tags de caminho adicionais.
Retorna
WEAVE_NO_ERROR Em caso de êxito. Caso contrário, retorne um WEAVE_ERROR que reflete uma incapacidade de formatar o caminho fornecido.

EncodePath

WEAVE_ERROR EncodePath(
  TLVWriter & aWriter,
  const uint64_t & aTag,
  uint32_t aProfileId,
  const uint64_t & aInstanceId,
  uint32_t aPathLen,
  ...
)

Codifique um caminho WDM com um ID de instância de perfil inteiro.

Observação:escreva um caminho TLV do tipo usado no gerenciamento de dados em que, especificamente, há uma designação de perfil colocada no início para permitir a interpretação dos elementos de caminho subsequentes. Essa versão do método usa um ID de instância de perfil em um número inteiro.

Esse método insere o ID da instância usando ContextTag(kTag_WDMPathProfileInstance), que é a versão mais recente para codificar um caminho.

Detalhes
Parâmetros
[in] aWriter
Uma referência ao gravador TLV usado para escrever o caminho.
[in] aTag
Uma referência à tag TLV totalmente qualificada que se aplica a esse caminho.
[in] aProfileId
O ID do perfil em que os elementos do caminho devem ser interpretados.
[in] aInstanceId
Uma referência ao identificador de instância opcional do perfil a ser usado. Se nenhum ID de instância for usado, esse parâmetro deverá ter o valor de kInstanceIdNotspecified.
[in] aPathLen
O tamanho, possivelmente 0, da lista de elementos do caminho além do especificador inicial do perfil.
[in] ...
A lista opcional de comprimento variável de tags de caminho adicionais.
Retorna
WEAVE_NO_ERROR Em caso de êxito. Caso contrário, retorne um WEAVE_ERROR que reflete uma incapacidade de formatar o caminho fornecido.

EncodePath

WEAVE_ERROR EncodePath(
  TLVWriter & aWriter,
  const uint64_t & aTag,
  uint32_t aProfileId,
  const uint32_t aInstanceIdLen,
  const uint8_t *aInstanceId,
  uint32_t aPathLen,
  ...
)

Codifique um caminho WDM com um ID de instância da matriz de bytes.

Observação:escreva um caminho TLV do tipo usado no gerenciamento de dados em que, especificamente, há uma designação de perfil colocada no início para permitir a interpretação dos elementos de caminho subsequentes. Essa versão do método usa um ID de instância de perfil de matriz de bytes com um comprimento.

Esse método insere o ID da instância usando ContextTag(kTag_WDMPathProfileInstance), que é a versão mais recente para codificar um caminho.

Detalhes
Parâmetros
[in] aWriter
Uma referência ao gravador TLV usado para escrever o caminho.
[in] aTag
Uma referência à tag TLV totalmente qualificada que se aplica a esse caminho.
[in] aProfileId
O ID do perfil no qual os elementos do caminho são interpretados.
[in] aInstanceIdLen
O tamanho da matriz de bytes que constitui o ID da instância. Se não houver ID, esse parâmetro deverá ter o valor 0.
[in] aInstanceId
A matriz de bytes opcional usada como um identificador de instância de perfil. Esse argumento pode ser NULL caso nenhum ID de instância seja especificado.
[in] aPathLen
O tamanho, possivelmente 0, da lista de elementos do caminho além do especificador inicial do perfil.
[in] ...
Lista opcional de comprimento variável de tags de caminho adicionais.
Retorna
WEAVE_NO_ERROR Em caso de êxito. Caso contrário, retorne um WEAVE_ERROR que reflete uma incapacidade de formatar o caminho fornecido.

EncodePath

WEAVE_ERROR EncodePath(
  TLVWriter & aWriter,
  const uint64_t & aTag,
  uint32_t aProfileId,
  const char *aInstanceId,
  uint32_t aPathLen,
  ...
)

Codifique um caminho WDM com um ID de instância da string.

Observação:escreva um caminho TLV do tipo usado no gerenciamento de dados em que, especificamente, há uma designação de perfil colocada no início para permitir a interpretação dos elementos de caminho subsequentes. Essa versão do método usa um ID de instância de perfil de string.

Esse método insere o ID da instância usando ContextTag(kTag_WDMPathProfileInstance), que é a versão mais recente para codificar um caminho.

Detalhes
Parâmetros
[in] aWriter
Uma referência ao gravador TLV usado para escrever o caminho.
[in] aTag
Uma referência à tag TLV totalmente qualificada que se aplica a esse caminho.
[in] aProfileId
O ID do perfil em que os elementos do caminho devem ser interpretados.
[in] aInstanceId
A string opcional usada como um identificador de instância de perfil. Este argumento poderá ser NULL se nenhum ID de instância for especificado.
[in] aPathLen
O tamanho, possivelmente 0, da lista de elementos do caminho além do especificador inicial do perfil.
[in] ...
Lista opcional de comprimento variável de tags de caminho adicionais.
Retorna
WEAVE_NO_ERROR Em caso de êxito. Caso contrário, retorne um WEAVE_ERROR que reflete uma incapacidade de formatar o caminho fornecido.

EndDataListElement

WEAVE_ERROR EndDataListElement(
  nl::Weave::TLV::TLVWriter & aWriter
)

Termine de gravar um elemento da lista de dados.

Escreva o TLV para o final de um elemento da lista de dados do WDM. Isso transmite automaticamente um tipo de kTLVType_Array para a chamada EndContainer(), supondo que sempre fechemos um item da lista.

Detalhes
Parâmetros
[in] aWriter
Uma referência a um gravador TLV com que escrever o final do item.
Retorna
WEAVE_NO_ERROR Em caso de êxito. Caso contrário, retorne um WEAVE_ERROR que reflete uma incapacidade de encerrar um contêiner.

EndEncodePath

WEAVE_ERROR EndEncodePath(
  TLVWriter & aWriter,
  TLVType & mOuterContainer,
  WEAVE_ERROR mError
)

EndList

WEAVE_ERROR EndList(
  nl::Weave::TLV::TLVWriter & aWriter
)

Termine de gravar uma lista de caminhos ou de dados.

Escreva o TLV para o final de um caminho ou lista de dados do WDM. Além disso, finalize o redator.

Detalhes
Parâmetros
[in,out] aWriter
Uma referência a um gravador TLV com que escrever o final da lista.
Retorna
WEAVE_NO_ERROR Em caso de êxito. Caso contrário, retorne um WEAVE_ERROR que reflete uma incapacidade de encerrar um contêiner.

EndList

WEAVE_ERROR EndList(
  ReferencedTLVData & aList,
  nl::Weave::TLV::TLVWriter & aWriter
)

Termine de gravar uma lista de caminhos ou de dados.

Escreva o TLV para o final de um caminho ou lista de dados do WDM. Além disso, finalize o redator. Nesse caso, o objeto ReferencedTLVData em que o TLV está sendo gravado é transmitido e modificado para refletir a quantidade de dados gravados.

Detalhes
Parâmetros
[in,out] aList
Uma referência ao objeto ReferenceTLVData no qual a lista estava sendo gravada.
[in] aWriter
Uma referência a um gravador TLV com que escrever o final da lista.
Retorna
WEAVE_NO_ERROR Em caso de êxito. Caso contrário, retorne um WEAVE_ERROR que reflete uma incapacidade de encerrar um contêiner.

IsPublisherSpecific

bool IsPublisherSpecific(
  const TopicIdentifier & aTopicId
)

Verificar se um ID de tópico é específico do editor.

Detalhes
Parâmetros
[in] aTopicId
um identificador de tópico ou verificação
Retorna
verdadeiro se o ID do tópico for específico do editor. Caso contrário, será falso

OpenDataList

WEAVE_ERROR OpenDataList(
  ReferencedTLVData & aDataList,
  nl::Weave::TLV::TLVReader & aReader
)

Comece a ler uma lista de dados.

Com um novo leitor e uma lista de dados, comece a ler a lista e valide as tags e os tipos encontrados inicialmente no processo. Se tudo correr bem, o leitor para depois que o contêiner da lista é inserido.

Detalhes
Parâmetros
[in] aDataList
Uma lista de dados transmitida como uma referência a um objeto ReferencedTLVData. Em um caso de uso normal, a lista ainda estará em um buffer após o recebimento.
[out] aReader
Uma referência a um leitor de TLV usado para ler a lista de dados. Este leitor apontará um pouco antes do primeiro item da lista.
Retorna
WEAVE_NO_ERROR Em caso de êxito. Caso contrário, retorne um WEAVE_ERROR que reflete uma falha ao abrir a lista de dados e/ou validar as tags e os tipos relevantes.

OpenDataListElement

WEAVE_ERROR OpenDataListElement(
  nl::Weave::TLV::TLVReader & aReader,
  nl::Weave::TLV::TLVReader & aPathReader,
  uint64_t & aVersion
)

Comece a ler um elemento da lista de dados.

Dado um leitor posicionado em um elemento da lista de dados, comece a ler o elemento e valide as tags e os tipos encontrados inicialmente no processo. Se tudo correr bem, o leitor será posicionado nos dados do elemento de dados e o leitor do caminho de entrada/saída será posicionado no caminho correspondente.

Detalhes
Parâmetros
[in] aReader
Uma referência a um leitor de TLV posicionado em um elemento da lista de dados.
[out] aPathReader
Uma referência a um leitor de TLV a ser apontada para o componente do caminho do elemento da lista de dados.
[out] aVersion
Uma referência a um número inteiro de 64 bits que será definido como a versão do elemento da lista de dados, se houver, ou como kVersionNotspecified.
Retorna
WEAVE_NO_ERROR em caso de sucesso ou também um WEAVE_ERROR associado à abertura e leitura do elemento da lista de dados.

OpenPathList

WEAVE_ERROR OpenPathList(
  ReferencedTLVData & aPathList,
  nl::Weave::TLV::TLVReader & aReader
)

Comece a ler uma lista de caminhos.

Com um novo leitor e uma lista de caminhos, comece a ler a lista e valide as tags e os tipos encontrados inicialmente no processo. Se tudo correr bem, o leitor para depois que o contêiner da lista é inserido.

Detalhes
Parâmetros
[in] aPathList
Uma lista de caminhos transmitida como uma referência a um objeto ReferencedTLVData. Em um caso de uso normal, a lista ainda estará em um buffer após o recebimento.
[out] aReader
Uma referência a um leitor de TLV usado para ler a lista de caminhos. Este leitor apontará logo antes do primeiro caminho da lista.
Retorna
WEAVE_NO_ERROR em caso de sucesso. Caso contrário, um WEAVE_ERROR reflete uma falha ao abrir a lista de caminhos e/ou validar as tags e os tipos relevantes.

PublisherSpecificTopicId

TopicIdentifier PublisherSpecificTopicId(
  void
)

Gerar um ID de tópico específico do editor do zero.

Detalhes
Retorna
o novo identificador de tópicos.

SendStatusReport

WEAVE_ERROR SendStatusReport(
  ExchangeContext *aExchangeCtx,
  StatusReport & aStatus
)

StartDataList

WEAVE_ERROR StartDataList(
  nl::Weave::TLV::TLVWriter & aWriter
)

Comece a escrever uma lista de dados.

Escreva o TLV para o início de uma lista de dados do WDM, por exemplo, como o argumento principal de um UpdateRequest().

Detalhes
Parâmetros
[in] aWriter
Uma referência a um gravador TLV com que começar a escrever.
Retorna
WEAVE_NO_ERROR Em caso de êxito. Caso contrário, retorne um WEAVE_ERROR que reflete uma incapacidade de iniciar um contêiner.

StartDataList

WEAVE_ERROR StartDataList(
  ReferencedTLVData & aDataList,
  nl::Weave::TLV::TLVWriter & aWriter
)

Comece a gravar uma lista de dados para um determinado objeto ReferencedTLVData.

Escreva o TLV para o início de uma lista de dados do WDM. Neste caso, presumimos que estamos gravando a lista de dados em uma estrutura de dados TLV referenciada. A gravação é considerada não inicializada ou, em qualquer caso, será inicializada para apontar para o objeto especificado.

Detalhes
Parâmetros
[out] aDataList
Uma referência a um objeto ReferencedTLVData que será o alvo do gravador e, por fim, conterá os dados de interesse.
[in] aWriter
Uma referência a um gravador TLV com que começar a escrever.
Retorna
WEAVE_NO_ERROR Em caso de êxito. Caso contrário, retorne um WEAVE_ERROR que reflete uma incapacidade de iniciar um contêiner.

StartDataListElement

WEAVE_ERROR StartDataListElement(
  nl::Weave::TLV::TLVWriter & aWriter
)

Comece a gravar um elemento da lista de dados.

Escreva o TLV para o início de um elemento da lista de dados do WDM.

Detalhes
Parâmetros
[in] aWriter
Uma referência a um gravador TLV com que começar a escrever.
Retorna
WEAVE_NO_ERROR Em caso de êxito. Caso contrário, retorne um WEAVE_ERROR que reflete uma incapacidade de iniciar um contêiner.

StartEncodePath

WEAVE_ERROR StartEncodePath(
  TLVWriter & aWriter,
  const uint64_t & aTag,
  uint32_t aProfileId,
  TLVType & mOuterContainer,
  TLVType & mPath
)

StartPathList

WEAVE_ERROR StartPathList(
  nl::Weave::TLV::TLVWriter & aWriter
)

Comece a escrever uma lista de caminhos.

Escreva o TLV para o início de uma lista de caminhos do WDM, por exemplo, como o argumento principal de um ViewRequest().

Detalhes
Parâmetros
[in] aWriter
Uma referência a um gravador TLV com que começar a escrever.
Retorna
WEAVE_NO_ERROR Em caso de êxito. Caso contrário, retorne um WEAVE_ERROR que reflete uma incapacidade de iniciar um contêiner.

TxnResponseHandler

void TxnResponseHandler(
  ExchangeContext *anExchangeCtx,
  const IPPacketInfo *anAddrInfo,
  const WeaveMessageInfo *aMsgInfo,
  uint32_t aProfileId,
  uint8_t aMsgType,
  PacketBuffer *aMsg
)

TxnTimeoutHandler

void TxnTimeoutHandler(
  ExchangeContext *anExchangeCtx
)

ValidateTLVType

WEAVE_ERROR ValidateTLVType(
  nl::Weave::TLV::TLVType aType,
  nl::Weave::TLV::TLVReader & aReader
)

Valide se um elemento TLV que está sendo lido tem o tipo TLV esperado.

Compare um determinado tipo de TLV em relação ao tipo de elemento no cabeçalho de um leitor de TLV e retorne um erro se não houver correspondência.

Detalhes
Parâmetros
[in] aType
O TLVType a ser validado em relação a um elemento específico.
[in] aReader
Uma referência a um leitor de TLV posicionado no elemento a ser validado.
Retorna
WEAVE_NO_ERROR se houver uma correspondência ou WEAVE_ERROR_WRONG_TLV_TYPE se não.
Consulte também:
WeaveTLVTypes.h

ValidateWDMTag

WEAVE_ERROR ValidateWDMTag(
  uint32_t aTagNum,
  nl::Weave::TLV::TLVReader & aReader
)

Confira se um elemento TLV que está sendo lido tem a tag WDM esperada.

Detalhes
Parâmetros
[in] aTagNum
O número da tag de 32 bits da tag WDM esperada.
[in] aReader
Um leitor de TLV posicionado no elemento a ser validado.
Retorna
WEAVE_NO_ERROR Em caso de êxito. Caso contrário, WEAVE_ERROR_INVALID_TLV_TAG se a tag não corresponde ao número fornecido quando interpretada como WDM.