nl::Weave::Profiles::DataManagement_Current::UpdateEncoder

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

Esse objeto codifica os payloads UpdateRequest e PartialUpdateRequest do WDM.

Resumo

Observe que ambas as solicitações têm o mesmo formato. elas são diferenciadas apenas pelo tipo de mensagem, que está fora do escopo desse objeto.

A codificação é feita de forma síncrona pelo método EncodeRequest. O único outro método público é InsertInProgressUpdateItem, que é chamado pelo SchemaEngine quando é necessário enviar um dicionário de volta à fila.

Construtores e destruidores

UpdateEncoder()
~UpdateEncoder()

Funções públicas

EncodeRequest(Context & aContext)
Codificar um payload da solicitação de atualização do WDM.
InsertInProgressUpdateItem(const TraitPath & aItem)
Adicione um caminho particular à lista de caminhos em andamento, inserindo-o depois daquele que está sendo codificado no momento.

Estruturas

nl::Weave::Profiles::DataManagement_Current::UpdateEncoder::Context

Essa estrutura contém os argumentos de E/S para o método EncodeRequest.

Funções públicas

EncodeRequest

WEAVE_ERROR EncodeRequest(
  Context & aContext
)

Codificar um payload da solicitação de atualização do WDM.

Consulte UpdateEncoder::Context. O comprimento dos dados do PackageBuffer é atualizado apenas em caso de sucesso, mas o conteúdo do buffer não é preservado.

Detalhes
Valores de retorno
WEAVE_NO_ERROR
Pelo menos um DataElement foi codificado na DataList do payload.
WEAVE_ERROR_BUFFER_TOO_SMALL
O primeiro DataElement não cabe no payload.
WEAVE_ERROR_INVALID_ARGUMENT
O aContext foi inicializado com valores inválidos.
other
Outros erros de objetos de nível inferior (TLVWriter, SchemaEngine etc.).

InsertInProgressUpdateItem

WEAVE_ERROR InsertInProgressUpdateItem(
  const TraitPath & aItem
)

Adicione um caminho particular à lista de caminhos em andamento, inserindo-o depois daquele que está sendo codificado no momento.

Esse método deve ser chamado pelo SchemaEngine à medida que ele atravessa a árvore de esquema e precisa enviar os dicionários de volta para a lista.

Detalhes
Parâmetros
[in] aItem
O TraitPath a ser inserido na lista que está sendo codificada.
Valores de retorno
WEAVE_NO_ERROR
O item foi inserido.
WEAVE_NO_MEMORY
Não havia espaço no TraitPathStore para inserir o item.

UpdateEncoder

 UpdateEncoder()

~UpdateEncoder

 ~UpdateEncoder()