nl::Weave::Profiles::DataManagement_Current::TraitUpdatableDataSink

Özet

Devralma

Devralındığı kaynak:
  nl::Weave::Profiles::DataManagement_Current::TraitDataSink
  nl::Weave::Profiles::DataManagement_Current::TraitSchemaEngine::IGetDataDelegate

Oluşturucular ve Yıkıcılar

TraitUpdatableDataSink(const TraitSchemaEngine *aEngine)

Kamu işlevleri

ClearUpdated(SubscriptionClient *apSubClient, PropertyPathHandle aPropertyHandle)
GetData(PropertyPathHandle aHandle, uint64_t aTagToWrite, nl::Weave::TLV::TLVWriter & aWriter, bool & aIsNull, bool & aIsPresent) __OVERRIDE
virtual WEAVE_ERROR
Bir düğüme giden yol işleyici, TLV yazıcı ve değerin boş olup olmadığını belirten boole değerleri, bir bildirim oluşturacak olan özellik kaynağından veri alın.
GetSubscriptionClient() __OVERRIDE
virtual SubscriptionClient *
GetUpdateEncoder() __OVERRIDE
virtual UpdateEncoder *
IsUpdatableDataSink(void) __OVERRIDE
virtual bool
Lock(SubscriptionClient *apSubClient)
void
ReadData(TraitDataHandle aTraitDataHandle, PropertyPathHandle aHandle, uint64_t aTagToWrite, TLV::TLVWriter & aWriter, PropertyPathHandle & aPropertyPathHandleOfDictItemToStartFrom)
SetSubscriptionClient(SubscriptionClient *apSubClient) __OVERRIDE
virtual WEAVE_ERROR
SetUpdateEncoder(UpdateEncoder *apEncoder) __OVERRIDE
virtual WEAVE_ERROR
SetUpdated(SubscriptionClient *apSubClient, PropertyPathHandle aPropertyHandle, bool aIsConditional)
Belirtilen PropertyPathHandle'ın yerel değişiklikleri olduğunu bildirir.
Unlock(SubscriptionClient *apSubClient)
void

Kamu işlevleri

ClearUpdated

WEAVE_ERROR ClearUpdated(
  SubscriptionClient *apSubClient,
  PropertyPathHandle aPropertyHandle
)

GetData

virtual WEAVE_ERROR GetData(
  PropertyPathHandle aHandle,
  uint64_t aTagToWrite,
  nl::Weave::TLV::TLVWriter & aWriter,
  bool & aIsNull,
  bool & aIsPresent
) __OVERRIDE

Bir düğüme giden yol işleyici, TLV yazıcı ve değerin boş olup olmadığını belirten boole değerleri, bir bildirim oluşturacak olan özellik kaynağından veri alın.

Yol tutamacı bir yaprak düğümü değilse TDM, yazara yazma değerlerini (kapsayıcıları açma, struct'ı geçersiz kılma gibi) işler. Yaprak olmayan düğüm boşsa veya mevcut değilse TDM, alt öğeleri için GetData'yı çağırmaz.

Bu işlev yalnızca boş, isteğe bağlı, geçici veya yaprak şeklindeki herkese açık kullanıcı adlarında çağrılır. Bu seçeneklerin etkinleştirildiği herkese açık kullanıcı adlarının tüm özelliklerde, aIsNull ve aIspresent özelliklerini doldurmak için uygun mantığın uygulanması beklenir.

Ayrıntılar
Parametreler
[in] aHandle
Söz konusu PropertyPathHandle.
[in] aTagToWrite
aHandle için yazılacak etiket.
[in,out] aWriter
TLV öğelerinin yazılacağı yazar.
[out] aIsNull
Herkese açık kullanıcı adı geçersiz mi? Yanıtınız evet ise TDM, null öğe yazar. ahand, yaprak değilse TDM, alt öğelerini atlar.
[out] aIsPresent
AHandle mevcut mu? "No" (hayır) değerine ayarlanırsa ve aHandlees yaprak değilse TDM, yolu ve alt öğelerini atlar.
Döndürülen Değerler
WEAVE_NO_ERROR
Başarılı olun.
other
Veriler alınamadı ve yazara yazılamadı.

GetSubscriptionClient

virtual SubscriptionClient * GetSubscriptionClient() __OVERRIDE

GetUpdateEncoder

virtual UpdateEncoder * GetUpdateEncoder() __OVERRIDE

IsUpdatableDataSink

virtual bool IsUpdatableDataSink(
  void
) __OVERRIDE

Kilitle

void Lock(
  SubscriptionClient *apSubClient
)

ReadData

WEAVE_ERROR ReadData(
  TraitDataHandle aTraitDataHandle,
  PropertyPathHandle aHandle,
  uint64_t aTagToWrite,
  TLV::TLVWriter & aWriter,
  PropertyPathHandle & aPropertyPathHandleOfDictItemToStartFrom
)

SetSubscriptionClient

virtual WEAVE_ERROR SetSubscriptionClient(
  SubscriptionClient *apSubClient
) __OVERRIDE

SetUpdateEncoder

virtual WEAVE_ERROR SetUpdateEncoder(
  UpdateEncoder *apEncoder
) __OVERRIDE

SetUpdated

WEAVE_ERROR SetUpdated(
  SubscriptionClient *apSubClient,
  PropertyPathHandle aPropertyHandle,
  bool aIsConditional
)

Belirtilen PropertyPathHandle'ın yerel değişiklikleri olduğunu bildirir.

Güncelleme isteği işlenene kadar NotificationEngine, herkese açık kullanıcı adını ve alt öğelerini geçersiz kılmaz. Uygulama, güncelleme işleminin sonucunda bu işleyici veya üst öğelerinden biri için kEvent_OnUpdateComplete geri çağırmaları alır. Bu değişiklik koşullu olabilir veya olmayabilir. Özellik örneğinin yerel kopyası, yayıncının kendisi veya başka bir istemci tarafından değiştirildiği için artık yayıncının kopyasıyla senkronize değilse koşullu veri güncellemeleri kaybolur. Koşullu ve koşulsuz mutasyonlar, aynı özellik örneğinde aynı anda desteklenmez.

Ayrıntılar
Parametreler
[in] apSubClient
Bu havuzu yöneten SubscriptionClient öğesinin işaretçisi.
[in] aPropertyHandle
Bu Trait örneği için geçerli herhangi bir PropertyPathHandle.
[in] aIsConditional
Koşullu güncelleme için doğru, aksi takdirde yanlış değerini alır.
Döndürülen Değerler
WEAVE_NO_ERROR
olup olmadığını kontrol edin.
WEAVE_ERROR_INVALID_ARGUMENT
herkese açık kullanıcı adı veya SubscriptionClient işaretçisi geçersizse.
WEAVE_ERROR_WDM_INCONSISTENT_CONDITIONALITY
özellik örneği zaten zıt koşullulukla güncelleniyorsa.
WEAVE_ERROR_WDM_LOCAL_DATA_INCONSISTENT
aIsConditional doğru ise ancak özellik örneği geçerli bir sürüme sahip değilse.
WEAVE_ERROR_WDM_PATH_STORE_FULL
olup olmadığını kontrol edin.
Other
Hataya bağlı olarak WEAVE_ERROR kodları.

TraitUpdatableDataSink

 TraitUpdatableDataSink(
  const TraitSchemaEngine *aEngine
)

Kilidini aç

void Unlock(
  SubscriptionClient *apSubClient
)