nl:: Weave:: Profiles:: DataManagement_Legacy:: DMClient
#include <src/lib/profiles/data-management/Legacy/DMClient.h>
A classe de base abstrata para clientes WDM específicos do aplicativo.
Resumo
DMClient é o cliente WDM padrão. A implementação inclui opcionalmente inscrição/notificação. Ela é uma mistura da classe ProtocolEngine do DM, que lida com as comunicações por manivela, e a classe ClientDataManager totalmente abstrata, com alguns dos métodos relacionados a assinaturas implementados para que as camadas superiores não precisem se preocupar com eles.
Os gerenciadores de tarefas relacionadas à assinatura agem principalmente como um adaptador fino sobre o objeto ClientNotifier. Os implementadores de subclasses devem ter o cuidado de chamar os métodos relevantes da superclasse 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 a um editor depende de uma vinculação preexistente no cliente, mas, no primeiro caso, o ID de destino serve para selecionar entre vários destinos vinculados e, no segundo, o primeiro item na tabela de vinculação é selecionado como padrão. Isso é útil, por exemplo, se o cliente só for vinculado a um único editor.
Herança
Herda de:nl::Weave::Profiles::DataManagement_Legacy::ProtocolEngine
nl::Weave::Profiles::DataManagement_Legacy::ClientDataManager
Construtores e destruidores |
|
---|---|
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 no 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 do editor padrão.
|
Atributos protegidos |
|
---|---|
mUpdatePool[kUpdatePoolSize]
|
|
mViewPool[kViewPoolSize]
|
Funções públicas |
|
---|---|
CancelTransactionRequest(uint16_t aTxnId, WEAVE_ERROR aError)
|
Solicite 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 em operação.
|
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.
Solicitar uma visualização dos dados que residem e são gerenciados por um editor remoto especificado.
Detalhes | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||||
Valores de retorno |
|
||||||||
Retornos |
Caso contrário, um WEAVE_ERROR 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 no editor padrão.
Solicitar uma visualização dos dados que residem e são gerenciados pela configuração "padrão" editor, ou seja, o primeiro (ou único) editor na tabela de vinculação do cliente.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||
Valores de retorno |
|
||||||
Retornos |
Caso contrário, um WEAVE_ERROR 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 sob gerenciamento.
Detalhes | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||||
Retornos |
WEAVE_NO_ERROR em caso de sucesso ou WEAVE_ERROR_NO_MEMORY se não foi possível alocar uma transação de atualização. Caso contrário, retorna 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 do editor padrão.
Solicite que um editor remoto atualize os dados sob gerenciamento. Essa versão direciona a solicitação para o editor que é o destino da vinculação padrão do cliente.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||
Retornos |
WEAVE_NO_ERROR em caso de sucesso ou WEAVE_ERROR_NO_MEMORY se não foi possível alocar uma transação de atualização. Caso contrário, retorna 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 )
Solicite 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 |
|
||||
Retornos |
WEAVE_NO_ERROR em caso de sucesso ou um WEAVE_ERROR que reflete uma falha no cancelamento da transação.
|
Limpar
virtual void Clear( void )
Limpa o estado interno associado a um objeto DMClient.
Mais especificamente, esse método limpa todos os pools de transações do cliente. Para clientes que já usam, o método Finalize() é preferível, já que ele também cancela assinaturas e limpa as tabelas de transações e vinculação.
Confira também:Finalize()
DMClient
DMClient( void )
Finalizar
virtual void Finalize( void )
Encerre um DMClient em operação.
Limpa todo o estado operacional associado ao cliente e remove todas as assinaturas relacionadas do notificador. Após uma chamada para Finalize(), um DMClient pode ser reinicializado simplesmente chamando Init(). Finalize() é invocado pelo destrutor DMClient, mas pode ser chamado no caso em que um DMClient exige 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 for fechada, este método será chamado.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
~DMClient
virtual ~DMClient( void )
O destrutor de objetos DMClient.
Limpa todo o estado interno e, se necessário, cancela assinaturas pendentes.