nl :: Tecer:: Perfis :: DataManagement_Legacy :: DMClient
#include <src/lib/profiles/data-management/Legacy/DMClient.h>
A classe base abstrata para clientes WDM específicos de aplicativos.
Resumo
DMClient é o cliente WDM padrão. A implementação inclui opcionalmente assinatura / notificação. É uma mistura da classe DM ProtocolEngine , que lida com o giro do comunicador, e a classe totalmente abstrata ClientDataManager , com alguns dos métodos relacionados à assinatura implementados para que as camadas superiores não precisem se preocupar com eles.
Os manipuladores para tarefas relacionadas à assinatura atuam principalmente como um adaptador thin sobre o objeto ClientNotifier . Os implementadores de subclasse devem ter o cuidado de chamar os métodos de superclasse relevantes para ativar o gerenciador de assinaturas.
Os métodos de solicitação DMClient geralmente têm 2 assinaturas, uma com um ID de nó de destino explícito e a outra com um destino especificado. Em qualquer caso, a capacidade de enviar uma mensagem a um editor depende de uma ligação pré-existente no cliente, mas, no primeiro caso, o ID de destino se destina a selecionar entre o destino de ligação múltipla e, no segundo caso, o primeiro item na tabela de encadernação é selecionado como padrão. Isso é útil, por exemplo, se o cliente só estiver 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 destruidor para 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 Solicite 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 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 Limpe o estado interno associado a um objeto DMClient . |
Finalize (void) | virtual void Desligue um DMClient em operação. |
IncompleteIndication ( Binding *aBinding, StatusReport & aReport) | virtual void Lidar com a "incompletude" de uma ligaçã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.
Solicite uma visualização dos dados que residem e são gerenciados por um editor remoto especificado.
Detalhes | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parâmetros |
| ||||||||
Valores Retornados |
| ||||||||
Devoluções | Caso contrário, um WEAVE_ERROR refletindo a falha ao inicializar ou iniciar a transação. |
ViewRequest
virtual WEAVE_ERROR ViewRequest( ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout )
Solicite uma visualização dos dados do editor padrão.
Solicite 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 ligação do cliente.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
| ||||||
Valores Retornados |
| ||||||
Devoluções | Caso contrário, um WEAVE_ERROR refletindo 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 |
| ||||||||
Devoluções | WEAVE_NO_ERROR em caso de sucesso ou WEAVE_ERROR_NO_MEMORY se uma transação de atualização não puder ser alocada. Caso contrário, retorne um WEAVE_ERROR refletindo 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. Esta versão direciona a solicitação ao editor que é o alvo da ligação padrão do cliente.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
| ||||||
Devoluções | WEAVE_NO_ERROR em caso de sucesso ou WEAVE_ERROR_NO_MEMORY se uma transação de atualização não puder ser alocada. Caso contrário, retorne um WEAVE_ERROR refletindo 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.
Este método não gera tráfego de rede, mas apenas libera recursos alocados para a (s) transação (ões) especificada (s)
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
| ||||
Devoluções | WEAVE_NO_ERROR em caso de sucesso ou um WEAVE_ERROR refletindo uma falha ao cancelar a transação. |
Claro
virtual void Clear( void )
Limpe o estado interno associado a um objeto DMClient .
Em particular, este método limpa todos os conjuntos de transações do cliente. Para clientes que estão em uso, o método Finalize () é preferível, pois ele também cancela assinaturas e limpa as tabelas de transação e ligação.
Veja também:Finalizar()
DMClient
DMClient( void )
Finalizar
virtual void Finalize( void )
Desligue 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 () é chamado pelo destruidor DMClient, mas pode ser chamado no caso em que um DMClient requer limpeza, por exemplo, em caso de falha ou desligamento temporário, mas pode precisar ser reconstituído em algum momento posterior.
IncompleteIndication
virtual void IncompleteIndication( Binding *aBinding, StatusReport & aReport )
Lidar com a "incompletude" de uma ligação em uso pelo cliente.
Quando uma ligação falha inesperadamente, por exemplo, se a conexão envolvida na ligação for fechada, esse método é chamado.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
~ DMClient
virtual ~DMClient( void )
O destruidor para objetos DMClient .
Limpa todos os estados internos e, se necessário, cancela as assinaturas pendentes.
Funções protegidas
Nova atualização
Update * NewUpdate( void )
NewView
View * NewView( void )