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)

Herkese açık işlevler

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, bir TLV yazıcı ve değerin boş olup olmadığını belirten boole değerleri dikkate alınarak, bildirim derleyecek ö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'da yerel değişiklikler olduğunu bildirir.
Unlock(SubscriptionClient *apSubClient)
void

Herkese açık işlevler

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, bir TLV yazıcı ve değerin boş olup olmadığını belirten boole değerleri dikkate alındığında, bildirim derleyecek özellik kaynağından verileri alın.

Yol işleyici bir yaprak düğümü değilse TDM, yazara yazma değerlerini (ör. container'ları açma, struct'ı geçersiz kılma vb.) işler. Yaprak olmayan bir düğüm null değilse veya mevcut değilse TDM, alt öğeleri için GetData'yı çağırmaz.

Bu işlev yalnızca boş değer atanabilen, isteğe bağlı, geçici veya yapraklı herkese açık kullanıcı adları için çağrılır. Bu seçeneklerin etkinleştirilmiş olduğu herkese açık kullanıcı adlarının, aIsNull ve aIsMevcut'u doldurmak için uygun mantığı uygulayabilmesi beklenir.

Ayrıntılar
Parametreler
[in] aHandle
Söz konusu PropertyPathHandle'dır.
[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 evetse TDM, null bir öğe yazar. aHandle bir yaprak değilse TDM, alt öğelerini atlar.
[out] aIsPresent
AHandle mevcut mu? Hayır ise ve aHandle bir yaprak değilse TDM, yolu ve alt öğelerini atlar.
Değerleri Döndür
WEAVE_NO_ERROR
Başarıya merhaba.
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'da yerel değişiklikler olduğunu bildirir.

NotificationEngine, güncelleme isteği işlenene kadar herkese açık kullanıcı adını ve alt öğelerini geçersiz kılmaz. Uygulama, güncelleme işleminin sonucuyla birlikte bu herkese açık kullanıcı adı veya üst öğelerinden biri için kEvent_OnUpdateComplete geri çağırması alır. Değişiklik, koşullu olabilir veya olmayabilir. Özellik örneğinin yerel kopyası, yayıncının kendisi veya başka bir müşteri tarafından değiştirildiğinden artık yayıncınınkiyle senkronize olmazsa 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 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 değerini döndürür; false (yanlış) değerini alır.
Değerleri Döndür
WEAVE_NO_ERROR
Mülk herkese açık kullanıcı adı, özelliğin sahibine gönderilecek özellik grubuna başarıyla eklendiyse.
WEAVE_ERROR_INVALID_ARGUMENT
kullanıcı adı veya SubscriptionClient işaretçisi geçersizse
WEAVE_ERROR_WDM_INCONSISTENT_CONDITIONALITY
özellik örneği, tam tersi koşulla zaten güncelleniyorsa.
WEAVE_ERROR_WDM_LOCAL_DATA_INCONSISTENT
aIsConditional doğru değerine ayarlanırsa ancak özellik örneğinin geçerli bir sürümü yoksa.
WEAVE_ERROR_WDM_PATH_STORE_FULL
yolu depolayacak bellek yoksa.
Other
WEAVE_ERROR kodları hataya bağlı olarak değişir.

TraitUpdatableDataSink

 TraitUpdatableDataSink(
  const TraitSchemaEngine *aEngine
)

Kilidi aç

void Unlock(
  SubscriptionClient *apSubClient
)