nl:: Weave:: Profiles:: DataManagement_Legacy:: DMClient
#include <src/lib/profiles/data-management/Legacy/DMClient.h>
A classe base abstrata para clientes WDM específicos do aplicativo.
Resumo
DMClient é o cliente WDM padrão. Opcionalmente, a implementação inclui assinatura/notificação. Ela é uma combinação da classe ProtocolEngine do DM, que lida com a rotatividade das comunicações, e da classe ClientDataManager totalmente abstrata, com alguns dos métodos relacionados à assinatura implementados para que as camadas superiores não precisem se preocupar com eles.
Os gerenciadores para tarefas relacionadas a assinaturas atuam principalmente como um adaptador fino no objeto ClientNotifier. Os implementadores de subclasse precisam ter cuidado ao chamar os métodos da superclasse relevantes para ativar o gerenciador de assinaturas.
Os métodos de solicitação DMClient geralmente têm duas assinaturas: uma com um ID de nó de destino explícito e a outra com um destino especificado. Em ambos os casos, a capacidade de enviar uma mensagem para um editor depende de uma vinculação pré-existente no cliente. No entanto, no primeiro caso, o ID de destino serve para selecionar entre destinos múltiplos e, no segundo caso, o primeiro item da tabela de vinculações é selecionado como padrão. Isso é útil, por exemplo, quando o cliente é vinculado a um único editor.
Herança
Herda de:nl::Weave::Profiles::DataManagement_Legacy::ProtocolEngine
nl::Weave::Profiles::DataManagement_Legacy::ClientDataManager
Construtores e destrutores |
|
---|---|
DMClient(void)
O construtor padrão para objetos DMClient.
|
|
~DMClient(void)
O destrutor de objetos DMClient.
|
ViewRequest(const uint64_t & aDestinationId, ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout)
|
virtual WEAVE_ERROR
Solicite uma visualização dos dados publicados.
|
ViewRequest(ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout)
|
virtual WEAVE_ERROR
Solicitar uma visualização dos dados do editor padrão.
|
UpdateRequest(const uint64_t & aDestinationId, ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout)
|
virtual WEAVE_ERROR
Solicite uma atualização dos dados publicados.
|
UpdateRequest(ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout)
|
virtual WEAVE_ERROR
Solicite uma atualização dos dados no editor padrão.
|
Atributos protegidos |
|
---|---|
mUpdatePool[kUpdatePoolSize]
|
|
mViewPool[kViewPoolSize]
|
Funções públicas |
|
---|---|
CancelTransactionRequest(uint16_t aTxnId, WEAVE_ERROR aError)
|
Solicita que uma transação em execução seja cancelada.
|
Clear(void)
|
virtual void
Limpa o estado interno associado a um objeto DMClient.
|
Finalize(void)
|
virtual void
Encerre um DMClient operacional.
|
IncompleteIndication(Binding *aBinding, StatusReport & aReport)
|
virtual void
Processar a "inconclusão" de uma vinculação em uso pelo cliente.
|
Funções protegidas |
|
---|---|
NewUpdate(void)
|
Update *
|
NewView(void)
|
View *
|
ViewRequest
virtual WEAVE_ERROR ViewRequest( const uint64_t & aDestinationId, ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout )
Solicite uma visualização dos dados publicados.
Solicita uma visualização dos dados que residem e são gerenciados por um editor remoto especificado.
Detalhes | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||||
Valores de retorno |
|
||||||||
Retorna |
Caso contrário, um WEAVE_ERROR que reflete a falha ao inicializar ou iniciar a transação.
|
ViewRequest
virtual WEAVE_ERROR ViewRequest( ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout )
Solicitar uma visualização dos dados do editor padrão.
Solicitar uma visualização dos dados que residem e são gerenciados pelo editor "padrão", ou seja, o primeiro (ou único) editor na tabela de vinculação do cliente.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||
Valores de retorno |
|
||||||
Retorna |
Caso contrário, um WEAVE_ERROR que reflete a falha ao inicializar ou iniciar a transação.
|
UpdateRequest
virtual WEAVE_ERROR UpdateRequest( const uint64_t & aDestinationId, ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout )
Solicite uma atualização dos dados publicados.
Solicite que um editor remoto atualize os dados em gerenciamento.
Detalhes | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||||
Retorna |
WEAVE_NO_ERROR em caso de sucesso ou WEAVE_ERROR_NO_MEMORY se não for possível alocar uma transação de atualização. Caso contrário, retorne um WEAVE_ERROR que reflete uma falha de atualização.
|
UpdateRequest
virtual WEAVE_ERROR UpdateRequest( ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout )
Solicite uma atualização dos dados no editor padrão.
Solicite que um editor remoto atualize os dados em gerenciamento. Essa versão direciona a solicitação para o editor que é o destino da vinculação padrão do cliente.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||
Retorna |
WEAVE_NO_ERROR em caso de sucesso ou WEAVE_ERROR_NO_MEMORY se não for possível alocar uma transação de atualização. Caso contrário, retorne um WEAVE_ERROR que reflete uma falha de atualização.
|
Atributos protegidos
mUpdatePool
Update mUpdatePool[kUpdatePoolSize]
mViewPool
View mViewPool[kViewPoolSize]
Funções públicas
CancelTransactionRequest
WEAVE_ERROR CancelTransactionRequest( uint16_t aTxnId, WEAVE_ERROR aError )
Solicita que uma transação em execução seja cancelada.
Esse método não gera tráfego de rede, apenas libera recursos alocados para as transações especificadas.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
||||
Retorna |
WEAVE_NO_ERROR em caso de sucesso ou WEAVE_ERROR que reflete uma falha ao cancelar a transação.
|
Limpar
virtual void Clear( void )
Limpa o estado interno associado a um objeto DMClient.
Especificamente, esse método limpa todos os pools de transações do cliente. Para clientes que estão em uso, o método Finalize() é preferível, porque também cancela assinaturas e limpa as tabelas de transações e vinculações.
Consulte também:Finalize()
DMClient
DMClient( void )
Finalizar
virtual void Finalize( void )
Encerre um DMClient operacional.
Limpa todo o estado de operação associado ao cliente e remove todas as assinaturas relacionadas do notificador. Depois de uma chamada para Finalize(), um DMClient pode ser reinicializado simplesmente chamando Init(). Finalize() é invocado pelo destrutor DMClient, mas pode ser chamado caso um DMClient precise de limpeza, por exemplo, em caso de falha ou encerramento temporário, mas pode precisar ser reconstituído posteriormente.
IncompleteIndication
virtual void IncompleteIndication( Binding *aBinding, StatusReport & aReport )
Processar a "inconclusão" de uma vinculação em uso pelo cliente.
Quando uma vinculação falha inesperadamente, por exemplo, se a conexão envolvida na vinculação é encerrada, esse método é chamado.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
~DMClient
virtual ~DMClient( void )
O destrutor de objetos DMClient.
Limpa todo o estado interno e, se necessário, cancela as assinaturas pendentes.