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

Her iki isteğin de aynı biçimde olduğunu unutmayın. yalnızca bu nesnenin kapsamı dışında olan mesaj türüne göre ayırt edilirler.

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

Oluşturucular ve Yıkıcılar

UpdateEncoder()
~UpdateEncoder()

Herkese açık işlevler

EncodeRequest(Context & aContext)
Bir WDM Güncelleme isteği yükünü kodlayın.
InsertInProgressUpdateItem(const TraitPath & aItem)
Devam eden yolların listesine özel bir yol ekleyin ve bu yolu o anda kodlanan yoldan sonra ekleyin.

Yapılar

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

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

Herkese açık işlevler

EncodeRequest

WEAVE_ERROR EncodeRequest(
  Context & aContext
)

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

UpdateEncoder::Context sayfasına bakın. PacketBuffer'ın veri uzunluğu sadece başarılı olursa güncellenir, ancak arabellek içerikleri korunmaz.

Ayrıntılar
Değerleri Döndür
WEAVE_NO_ERROR
Yükün DataList öğesine en az bir DataElement 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.) gelen diğer hatalar.

InsertInProgressUpdateItem

WEAVE_ERROR InsertInProgressUpdateItem(
  const TraitPath & aItem
)

Devam eden yolların listesine özel bir yol ekleyin ve bu yolu o anda kodlanan yoldan sonra ekleyin.

Bu yöntem, şema ağacından geçerken SchemaEngine tarafından çağrılacaktır ve sözlükleri listeye geri göndermesi gerekir.

Ayrıntılar
Parametreler
[in] aItem
Kodlanan listeye eklenecek TraitPath.
Değerleri Döndür
WEAVE_NO_ERROR
Öğe başarıyla eklendi.
WEAVE_NO_MEMORY
TraitPathStore'da öğeyi ekleyecek alan yoktu.

UpdateEncoder

 UpdateEncoder()

~UpdateEncoder

 ~UpdateEncoder()