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

#include <src/lib/profiles/data-management/Legacy/DMPublisher.h>

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

Resumo

DMPublisher é a classe base padrão do editor do WDM. Ela é uma combinação da classe ProtocolEngine do DM, que lida com a manivela das comunicações, e da classe PublisherDataManager totalmente abstrata. O suporte a assinatura e notificação é opcional e pode ser suprimido simplesmente com a configuração de uma tabela de assinatura sem entradas.

Herança

Herdado de:
  nl::Weave::Profiles::DataManagement_Legacy::ProtocolEngine
  nl::Weave::Profiles::DataManagement_Legacy::PublisherDataManager

Construtores e destrutores

DMPublisher(void)
O construtor padrão para objetos DMPublisher.
~DMPublisher(void)
O destrutor de objetos DMPublisher.

Funções públicas

CancelTransactionRequest(uint16_t aTxnId, WEAVE_ERROR aError)
Clear(void)
virtual void
Limpe o estado interno do objeto DMPublisher.
Finalize(void)
virtual void
Encerre um DMPublisher operacional.
IncompleteIndication(Binding *aBinding, StatusReport & aReport)
virtual void
Processar uma indicação de que uma vinculação falhou.
Init(WeaveExchangeManager *aExchangeMgr, uint32_t aResponseTimeout)
virtual WEAVE_ERROR
Inicialize um objeto DMPublisher.
Init(WeaveExchangeManager *aExchangeMgr)
virtual WEAVE_ERROR
OnMsgReceived(ExchangeContext *aResponseCtx, uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aMsg)
void
UpdateResponse(ExchangeContext *aResponseCtx, StatusReport & aStatus)
Responda a uma solicitação de atualização.
ViewResponse(ExchangeContext *aResponseCtx, StatusReport & aStatus, ReferencedTLVData *aDataList)
Responda a uma solicitação de visualização.

Funções públicas

CancelTransactionRequest

WEAVE_ERROR CancelTransactionRequest(
  uint16_t aTxnId,
  WEAVE_ERROR aError
)

Limpar

virtual void Clear(
  void
)

Limpe o estado interno do objeto DMPublisher.

Limpa o pool de transações de notificação e a tabela de assinatura.

DMPublisher

 DMPublisher(
  void
)

O construtor padrão para objetos DMPublisher.

Limpa todo o estado interno.

Finalizar

virtual void Finalize(
  void
)

Encerre um DMPublisher operacional.

Limpa todo o estado operacional e encerra o listener se um estiver em execução.

IncompleteIndication

virtual void IncompleteIndication(
  Binding *aBinding,
  StatusReport & aReport
)

Processar uma indicação de que uma vinculação falhou.

Quando uma vinculação fica incompleta, ou seja, quando a conexão é encerrada para uma vinculação TCP, o mecanismo de protocolo precisa falhar em todas as transações que dependam dela, o que inclui chamar os gerenciadores de status. Além disso, a indicação incompleta é passada para qualquer objeto de superclasse que implemente a forma alternativa desse método que receba um ID de mesmo nível.

Detalhes
Parâmetros
[in] aBinding
Um ponteiro para a vinculação com falha.
[in] aReport
Uma referência a um objeto StatusReport que detalha o motivo da falha.

Init

virtual WEAVE_ERROR Init(
  WeaveExchangeManager *aExchangeMgr,
  uint32_t aResponseTimeout
)

Inicialize um objeto DMPublisher.

Esse método tem o efeito colateral de instalar um listener no gerenciador de troca para todas as solicitações de clientes, possivelmente incluindo as de assinatura.

Detalhes
Parâmetros
[in] aExchangeMgr
Um ponteiro para o objeto WeaveExchangeManager a ser usado em todas as trocas de que o editor quer participar.
[in] aResponseTimeout
Um tempo limite de resposta em milissegundos, ou seja, o tempo máximo de espera por uma resposta.
Retorna
WEAVE_NO_ERROR Em caso de êxito. Caso contrário, retorne um WEAVE_ERROR que reflete uma falha ao configurar corretamente o editor.

Init

virtual WEAVE_ERROR Init(
  WeaveExchangeManager *aExchangeMgr
)

OnMsgReceived

void OnMsgReceived(
  ExchangeContext *aResponseCtx,
  uint32_t aProfileId,
  uint8_t aMsgType,
  PacketBuffer *aMsg
)

UpdateResponse

WEAVE_ERROR UpdateResponse(
  ExchangeContext *aResponseCtx,
  StatusReport & aStatus
)

Responda a uma solicitação de atualização.

Envie a resposta a uma solicitação de atualização após o processamento, usando o contexto de troca fornecido na indicação.

Detalhes
Parâmetros
[in] aResponseCtx
Um ponteiro para o contexto de troca em que a solicitação foi recebida.
[in] aStatus
Uma referência a um objeto StatusReport que contém informações sobre o status da solicitação.
Retorna
WEAVE_NO_ERROR Em caso de êxito. Caso contrário, retorne um WEAVE_ERROR que reflete uma falha ao enviar a mensagem de resposta.

ViewResponse

WEAVE_ERROR ViewResponse(
  ExchangeContext *aResponseCtx,
  StatusReport & aStatus,
  ReferencedTLVData *aDataList
)

Responda a uma solicitação de visualização.

Envie a resposta a uma solicitação de visualização após o processamento, usando o contexto de troca que foi fornecido na indicação.

Detalhes
Parâmetros
[in] aResponseCtx
Um ponteiro para o contexto de troca em que a solicitação foi recebida.
[in] aStatus
Uma referência a um objeto StatusReport que contém informações sobre o status da solicitação. Se a solicitação for bem-sucedida, o solicitante vai esperar uma lista com as informações relevantes.
[in] aDataList
Um ponteiro para um objeto ReferencedTLVData opcional contendo uma lista de dados codificado em TLV contendo os dados de interesse e os caminhos que indicam a disposição desses dados. Observe que esse parâmetro deve ser NULL caso o status fornecido no parâmetro anterior não seja bem-sucedido.
Valores de retorno
WEAVE_NO_ERROR
Se der certo. Caso contrário, retorne um WEAVE_ERROR que reflete uma falha ao enviar a mensagem de resposta.
WEAVE_ERROR_INVALID_ARGUMENT
Se os parâmetros fornecidos forem inconsistentes
WEAVE_ERROR_NO_MEMORY
Se não for possível alocar um buffer Inet.

~DMPublisher

virtual  ~DMPublisher(
  void
)

O destrutor de objetos DMPublisher.

Limpa todo o estado interno e remove o listener do gerenciador de trocas, se houver um.