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

nl :: Tecer:: Perfis :: DataManagement_Current :: NotificationEngine :: NotifyRequestBuilder

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

Isso fornece uma classe auxiliar para redigir notificações e abstrair a construção e a estrutura da mensagem de seus consumidores.

Resumo

Esta é uma versão mais compacta de uma classe similar previsto no MessageDef.cpp que pretende 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 ()
Termine a construção da matriz da lista de dados.
EndEventList ()
Fim da construção da lista de eventos.
EndNotifyRequest ()
Fim da construção do notificar.
GetWriter (void)
Init (PacketBuffer *aBuf,TLV::TLVWriter *aWriter, SubscriptionHandler *aSubHandler, uint32_t aMaxPayloadSize)
Inicializa o construtor.
MoveToState ( NotifyRequestBuilderState aDesiredState)
A principal função de transição de estado.
Rollback (TLV::TLVWriter & aPoint)
Reverta o estado da solicitação para o TLVWriter com checkpoint.
StartDataList (void)
Inicia a construção da matriz da lista de dados.
StartEventList ()
Inicia a construção da lista de eventos.
StartNotifyRequest ()
Inicie 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, escreva o elemento de dados associado a esse caminho.

Funções públicas

Checkpoint

WEAVE_ERROR Checkpoint(
  TLV::TLVWriter & aPoint
)

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

Detalhes
Parâmetros
[out] aPoint
Um escritor o ponto de verificação do estado da TLV escritor em.
Valores Retornados
WEAVE_NO_ERROR
Com sucesso.

EndDataList

WEAVE_ERROR EndDataList()

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

Detalhes
Valores Retornados
WEAVE_NO_ERROR
Com sucesso.
WEAVE_ERROR_INCORRECT_STATE
Se a solicitação não estiver no contêiner DataList.
other
Incapaz de construir o fim da lista de dados.

EndEventList

WEAVE_ERROR EndEventList()

Fim da construção da lista de eventos.

Detalhes
Valores Retornados
WEAVE_NO_ERROR
Com sucesso.
WEAVE_ERROR_INCORRECT_STATE
Se a solicitação não estiver no contêiner EventList.
other
Incapaz de construir o final da lista de dados.

EndNotifyRequest

WEAVE_ERROR EndNotifyRequest()

Fim da construção do notificar.

Detalhes
Valores Retornados
WEAVE_NO_ERROR
Com sucesso.
WEAVE_ERROR_INCORRECT_STATE
Se a solicitação não estiver no contêiner Notificar.
other
Incapaz de construir o fim da notificação.

GetWriter

TLV::TLVWriter * GetWriter(
  void
)

Iniciar

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

Inicializa o construtor.

Deve ser chamado apenas uma vez.

Detalhes
Valores Retornados
WEAVE_NO_ERROR
Com sucesso.
other
Não foi possível inicializar o construtor.

MoveToState

WEAVE_ERROR MoveToState(
  NotifyRequestBuilderState aDesiredState
)

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

A função assume o estado desejado (ou seja, a fase do construtor de solicitação de notificação que gostaríamos de alcançar) e faz a transição da solicitação para esse estado. Se o estado desejado for igual ao estado atual, a função não fará nada. Caso contrário, um PacketBuffer é alocado (se necessário); Em primeiro lugar a função transições o pedido para o pedido de topo notificar (quer abrindo a pedido notificar TLV estrutura, ou fechar a corrente TLV contentor de dados como necessário), e em seguida faz a transição do pedido Notificar abrindo o apropriado TLV contentor de dados ou fechando a abrangente Notifique o pedido.

Detalhes
Parâmetros
aDesiredState
O estado desejado para o qual a solicitação deve fazer a transição
Valores Retornados
WEAVE_NO_ERROR
Com 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 interna.
other
Quando a máquina de estado não pôde registrar o estado em seu buffer, provavelmente indica uma falha de design em vez de um problema de tempo de execução.

Rollback

WEAVE_ERROR Rollback(
  TLV::TLVWriter & aPoint
)

Reverta o estado da solicitação para o TLVWriter com checkpoint.

Detalhes
Parâmetros
[in] aPoint
Um escritor que capturou o estado em algum ponto no passado
Valores Retornados
WEAVE_NO_ERROR
Com sucesso.

StartDataList

WEAVE_ERROR StartDataList(
  void
)

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

Detalhes
Valores Retornados
WEAVE_NO_ERROR
Com sucesso.
WEAVE_ERROR_INCORRECT_STATE
Se a solicitação não estiver no contêiner Notify.
other
Incapaz de construir o início da lista de dados.

StartEventList

WEAVE_ERROR StartEventList()

Inicia a construção da lista de eventos.

Detalhes
Valores Retornados
WEAVE_NO_ERROR
Com sucesso.
WEAVE_ERROR_INCORRECT_STATE
Se a solicitação não estiver no contêiner Notify.
other
Incapaz de construir o início da lista de dados.

StartNotifyRequest

WEAVE_ERROR StartNotifyRequest()

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

Detalhes
Valores Retornados
WEAVE_NO_ERROR
Com sucesso.
WEAVE_ERROR_INCORRECT_STATE
Se a solicitação não estiver no nível superior do buffer.
other
Incapaz de construir o fim da notificação.

WriteDataElement

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, escreva o elemento de dados associado a esse caminho.

O chamador também pode, opcionalmente, passar um conjunto de identificadores que permite alavancar a operação de mesclagem com um conjunto mais estreito de nós filho imediatos do identificador de caminho de propriedade pai.

Detalhes
Valores Retornados
WEAVE_NO_ERROR
Com sucesso.
other
Não foi possível recuperar e gravar o elemento de dados.