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

ملخّص

الاكتساب

يتم اكتسابه من:
  nl::Weave::Profiles::DataManagement_Current::TraitDataSink
  nl::Weave::Profiles::DataManagement_Current::TraitSchemaEngine::IGetDataDelegate

الشركات المصنّعة والمُصنّعة

TraitUpdatableDataSink(const TraitSchemaEngine *aEngine)

وظائف عامة

ClearUpdated(SubscriptionClient *apSubClient, PropertyPathHandle aPropertyHandle)
GetData(PropertyPathHandle aHandle, uint64_t aTagToWrite, nl::Weave::TLV::TLVWriter & aWriter, bool & aIsNull, bool & aIsPresent) __OVERRIDE
virtual WEAVE_ERROR
عند تحديد مؤشر مسار لعقدة وكاتب TLV والقيم المنطقية التي تشير إلى ما إذا كانت القيمة فارغة أو غير موجودة، احصل على البيانات من مصدر السمة الذي سينشئ إشعارًا.
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)
تشير هذه السمة إلى أنّ سمة PropertyPathHandle المحدّدة لها تعديلات محلية.
Unlock(SubscriptionClient *apSubClient)
void

وظائف عامة

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

عند تحديد مؤشر مسار لعقدة وكاتب TLV والقيم المنطقية التي تشير إلى ما إذا كانت القيمة فارغة أو غير موجودة، احصل على البيانات من مصدر السمة الذي سينشئ إشعارًا.

إذا لم يكن مؤشر المسار عُقدة ورقة شجر، سيتعامل TDM مع قيم الكتابة للكاتب (مثل الحاويات المفتوحة وإبطال البنية وما إلى ذلك). إذا كانت هناك عُقدة بلا ورقة بيانات فارغة أو غير متوفّرة، لن يستدعي TDM بيانات GetData التابعة لعناصرها.

سيتم استدعاء هذه الدالة فقط للأسماء المعرِّفة القابلة للقيم الفارغة أو الاختيارية أو المؤقتة أو رموز أوراق الشجر. من المتوقَّع أن يتم تطبيق المنطق المناسب لتعبئة aIsNull وaIsPresent على أيّ سمات تحتوي على الأسماء المعرِّفة التي تم تفعيل هذه الخيارات بها.

التفاصيل
المعلمات
[in] aHandle
PropertyPathHandle المعنيّ.
[in] aTagToWrite
العلامة المطلوب كتابتها في aHandle.
[in,out] aWriter
تمثّل هذه السمة الكاتب الذي ستتم كتابة عناصر TLV إليه.
[out] aIsNull
هل تم إبطال مقبض aHandle؟ إذا كانت الإجابة "نعم"، سيكتب TDM عنصرًا فارغًا. إذا لم يكن aHandle رمزًا لورقة الشجر، سيتخطّى TDM العناصر الثانوية.
[out] aIsPresent
هل الاسم المعرِّف متوفّر؟ إذا كانت الإجابة "لا" وإذا لم يكن aHandle بمثابة ورقة شجر، سيتخطّى TDM المسار وعناصره الثانوية.
قيم الإرجاع
WEAVE_NO_ERROR
عند النجاح.
other
تعذر استرداد البيانات وكتابتها في الكاتب.

GetSubscriptionClient

virtual SubscriptionClient * GetSubscriptionClient() __OVERRIDE

GetUpdateEncoder

virtual UpdateEncoder * GetUpdateEncoder() __OVERRIDE

IsUpdatableDataSink

virtual bool IsUpdatableDataSink(
  void
) __OVERRIDE

قفل

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
)

تشير هذه السمة إلى أنّ سمة PropertyPathHandle المحدّدة لها تعديلات محلية.

لن يلغي NotificationEngine الاسم المعرِّف والعناصر التابعة له إلى أن تتم معالجة طلب التحديث. سيتلقّى التطبيق استدعاءات kEvent_OnUpdateComplete الخاصة بهذا الاسم المعرِّف أو لأحد الكيانات الأصلية له نتيجة عملية التحديث. يمكن أن يكون التعديل مشروطًا أو لا. سيتم فقدان تعديلات البيانات المشروطة إذا لم تعد النسخة المحلية من مثيل السمة متزامنة مع النسخة الخاصة بالناشر بسبب تغييرها من قِبل الناشر نفسه أو من قِبل برنامج آخر. لا يتم دعم الطفرات المشروطة وغير المشروطة في نفس الوقت في نفس مثيل السمة.

التفاصيل
المعلمات
[in] apSubClient
مؤشر إلى SubscriptionClient الذي يدير هذا الحوض.
[in] aPropertyHandle
أي PropertyPathHandle صالح لمثيل السمة هذا.
[in] aIsConditional
صحيح لتحديث مشروط؛ false في الحالات الأخرى.
قيم الإرجاع
WEAVE_NO_ERROR
إذا تمت إضافة اسم معرِّف السمة بنجاح إلى مجموعة الخصائص لإرسالها إلى مالك السمة.
WEAVE_ERROR_INVALID_ARGUMENT
إذا كان الاسم المعرِّف أو مؤشر SubscriptionClient غير صالح.
WEAVE_ERROR_WDM_INCONSISTENT_CONDITIONALITY
إذا تم بالفعل تحديث مثيل السمة بشرط معاكس.
WEAVE_ERROR_WDM_LOCAL_DATA_INCONSISTENT
إذا كانت aIsConditional صحيحة ولكن ليس لمثيل السمة نسخة صالحة.
WEAVE_ERROR_WDM_PATH_STORE_FULL
في حال عدم توفّر ذاكرة لتخزين المسار.
Other
رموز WEAVE_ERROR بناءً على الإخفاق.

TraitUpdatableDataSink

 TraitUpdatableDataSink(
  const TraitSchemaEngine *aEngine
)

فتح القفل

void Unlock(
  SubscriptionClient *apSubClient
)