O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.

nl::Weave::Profiles::DataManagement_Current::NotificationEngine::NotificarRequestBuilder

#include <src/lib/profiles/data-management/Current/NotificationEngine.h>

Isso fornece uma classe auxiliar para compor notificações e deixar de lado a construção e a estrutura da mensagem dos consumidores.

Resumo

Essa é uma versão mais compacta de uma classe semelhante fornecida em MessageDef.cpp que visa ser sensível às necessidades de flash e ram do dispositivo.

Funções públicas

Checkpoint(TLV::TLVWriter & aPoint)
Verifique o estado da solicitação em um TLVwriter.
EndDataList()
Termina a construção da matriz da lista de dados.
EndEventList()
Encerre a construção da lista de eventos.
EndNotifyRequest()
Encerrar a construção da notificação
GetWriter(void)
Init(PacketBuffer *aBuf, TLV::TLVWriter *aWriter, SubscriptionHandler *aSubHandler, uint32_t aMaxPayloadSize)
Inicia o builder.
MoveToState(NotifyRequestBuilderState aDesiredState)
A função de transição de estado principal.
Rollback(TLV::TLVWriter & aPoint)
Reverta o estado da solicitação para o TLVwriter checkpoint.
StartDataList(void)
Inicia a construção da matriz de listas de dados.
StartEventList()
Inicia a construção da lista de eventos.
StartNotifyRequest()
Iniciar a construção da notificação.
WriteDataElement(TraitDataHandle aTraitDataHandle, PropertyPathHandle aPropertyPathHandle, SchemaVersion aSchemaVersion, PropertyPathHandle *aMergeDataHandleSet, uint32_t aNumMergeDataHandles, PropertyPathHandle *aDeleteHandleSet, uint32_t aNumDeleteHandles)
Dado um caminho de característica, grave o elemento de dados associado a esse caminho.

Funções públicas

Check Point

WEAVE_ERROR Checkpoint(
  TLV::TLVWriter & aPoint
)

Verifique o estado da solicitação em um TLVwriter.

Detalhes
Parâmetros
[out] aPoint
Um gravador para checkpoint do estado do gravador TLV.
Valores de retorno
WEAVE_NO_ERROR
Em caso de sucesso.

TérminoDataData

WEAVE_ERROR EndDataList()

Termina a construção da matriz da lista de dados.

Detalhes
Valores de retorno
WEAVE_NO_ERROR
Em caso de sucesso.
WEAVE_ERROR_INCORRECT_STATE
Se a solicitação não está no contêiner do DataList.
other
Não foi possível construir o fim da lista de dados.

ListaDeEventos Finais

WEAVE_ERROR EndEventList()

Encerre a construção da lista de eventos.

Detalhes
Valores de retorno
WEAVE_NO_ERROR
Em caso de sucesso.
WEAVE_ERROR_INCORRECT_STATE
Se a solicitação não estiver no contêiner EventList.
other
Não foi possível construir o fim da lista de dados.

Encerrar notificação

WEAVE_ERROR EndNotifyRequest()

Encerrar a construção da notificação

Detalhes
Valores de retorno
WEAVE_NO_ERROR
Em caso de sucesso.
WEAVE_ERROR_INCORRECT_STATE
Se a solicitação não estiver no contêiner "Notificar".
other
Não foi possível construir o final da notificação.

GetGravador

TLV::TLVWriter * GetWriter(
  void
)

Init

WEAVE_ERROR Init(
  PacketBuffer *aBuf,
  TLV::TLVWriter *aWriter,
  SubscriptionHandler *aSubHandler,
  uint32_t aMaxPayloadSize
)

Inicia o builder.

Deve ser chamado apenas uma vez.

Detalhes
Valores de retorno
WEAVE_NO_ERROR
Em caso de sucesso.
other
Não foi possível inicializar o builder.

Estado de mudança

WEAVE_ERROR MoveToState(
  NotifyRequestBuilderState aDesiredState
)

A função de transição de estado principal.

A função usa o estado pretendido (ou seja, a fase do criador de solicitação de notificação que queremos alcançar) e faz a transição da solicitação para esse estado. Se o estado pretendido for o mesmo que o atual, a função não terá efeito. Caso contrário, um PackageBuffer será alocado (se necessário). A função fará primeiro a transição para a solicitação de notificação de nível superior (abrindo a estrutura TLV da solicitação de notificação ou fechando o contêiner de dados TLV atual conforme necessário) e depois fará a transição da solicitação de notificação abrindo o contêiner de dados TLV apropriado ou fechando a solicitação geral de notificação.

Detalhes
Parâmetros
aDesiredState
O estado pretendido para a transição da solicitação
Valores de retorno
WEAVE_NO_ERROR
Em caso de sucesso.
WEAVE_ERROR_NO_MEMORY
Não foi possível fazer a transição para o estado devido à memória insuficiente.
WEAVE_ERROR_INCORRECT_STATE
Corrupção da máquina de estado interno.
other
Quando a máquina de estado não podia registrar o estado no buffer, provavelmente indica uma falha de design em vez de um problema de tempo de execução.

Reverter

WEAVE_ERROR Rollback(
  TLV::TLVWriter & aPoint
)

Reverta o estado da solicitação para o TLVwriter checkpoint.

Detalhes
Parâmetros
[in] aPoint
Um escritor que capturou o estado em algum momento no passado
Valores de retorno
WEAVE_NO_ERROR
Em caso de sucesso.

ListaDataDeInício

WEAVE_ERROR StartDataList(
  void
)

Inicia a construção da matriz de listas de dados.

Detalhes
Valores de retorno
WEAVE_NO_ERROR
Em caso de sucesso.
WEAVE_ERROR_INCORRECT_STATE
Se a solicitação não estiver no contêiner "Notificar".
other
Não foi possível criar o início da lista de dados.

StartEventList

WEAVE_ERROR StartEventList()

Inicia a construção da lista de eventos.

Detalhes
Valores de retorno
WEAVE_NO_ERROR
Em caso de sucesso.
WEAVE_ERROR_INCORRECT_STATE
Se a solicitação não estiver no contêiner "Notificar".
other
Não foi possível criar o início da lista de dados.

StartNotificationRequest

WEAVE_ERROR StartNotifyRequest()

Iniciar a construção da notificação.

Detalhes
Valores de retorno
WEAVE_NO_ERROR
Em caso de sucesso.
WEAVE_ERROR_INCORRECT_STATE
Se a solicitação não estiver no nível superior do buffer.
other
Não foi possível construir o final da notificação.

Elemento DataData

WEAVE_ERROR WriteDataElement(
  TraitDataHandle aTraitDataHandle,
  PropertyPathHandle aPropertyPathHandle,
  SchemaVersion aSchemaVersion,
  PropertyPathHandle *aMergeDataHandleSet,
  uint32_t aNumMergeDataHandles,
  PropertyPathHandle *aDeleteHandleSet,
  uint32_t aNumDeleteHandles
)

Dado um caminho de característica, grave o elemento de dados associado a esse caminho.

O autor da chamada também pode transmitir um conjunto de identificadores para aproveitar a operação de mesclagem com um conjunto mais restrito de nós filhos imediatos do identificador de caminho da propriedade pai.

Detalhes
Valores de retorno
WEAVE_NO_ERROR
Em caso de sucesso.
other
Não foi possível recuperar e gravar o elemento de dados.