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

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

Bu nesne, WDM UpdateRequest ve KısmiUpdateRequest yüklerini kodlar.

Özet

İki isteğin de aynı biçime sahip olduğunu ve yalnızca bu nesnenin kapsamı dışında olan mesaj türüne göre ayırt edildiklerini unutmayın.

Kodlama, EncodeRequest yöntemi tarafından eşzamanlı olarak yapılır. Herkese açık olan diğer tek yöntem, bir sözlüğü tekrar sıraya göndermesi gerektiğinde SchemaEngine tarafından çağrılan InsertInProcessUpdateItem'tir.

Oluşturucular ve Yıkıcılar

UpdateEncoder()
~UpdateEncoder()

Kamu işlevleri

EncodeRequest(Context & aContext)
WDM Güncelleme isteği yükünü kodlayın.
InsertInProgressUpdateItem(const TraitPath & aItem)
O anda kodlanmış olanın arkasına ekleyerek devam etmekte olan yollar listesine özel bir yol ekleyin.

Yapılar

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

Bu yapı, EncodeRequest yönteminin G/Ç bağımsız değişkenlerini barındırır.

Kamu işlevleri

EncodeRequest

WEAVE_ERROR EncodeRequest(
  Context & aContext
)

WDM Güncelleme isteği yükünü kodlayın.

UpdateEncoder::Context bölümüne bakın. PacketBuffer'ın veri uzunluğu yalnızca başarılı olması durumunda güncellenir, ancak arabellek içerikleri korunmaz.

Ayrıntılar
Döndürülen Değerler
WEAVE_NO_ERROR
En az bir DataElement, yükün DataList'ine kodlanmıştır.
WEAVE_ERROR_BUFFER_TOO_SMALL
İlk DataElement yüke sığamadı.
WEAVE_ERROR_INVALID_ARGUMENT
aContext geçersiz değerlerle başlatıldı.
other
Alt düzey nesnelerden (TLVWriter, SchemaEngine vb.) ilgili diğer hatalar.

InsertInProgressUpdateItem

WEAVE_ERROR InsertInProgressUpdateItem(
  const TraitPath & aItem
)

O anda kodlanmış olanın arkasına ekleyerek devam etmekte olan yollar listesine özel bir yol ekleyin.

Bu yöntemin, şema ağacını geçerken SchemaEngine tarafından çağrılması amaçlanmıştır ve sözlükleri listeye geri itmesi gerekir.

Ayrıntılar
Parametreler
[in] aItem
Kodlanan listeye eklenecek TraitPath.
Döndürülen Değerler
WEAVE_NO_ERROR
Öğe başarıyla eklendi.
WEAVE_NO_MEMORY
TraitPathStore'da öğenin ekleneceği yer yoktu.

UpdateEncoder

 UpdateEncoder()

~UpdateEncoder

 ~UpdateEncoder()