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
العلامة المطلوب كتابتها للاسم المعرِّف.
[in,out] aWriter
هو الكاتب الذي يكتب عناصر TLV إليه.
[out] aIsNull
هل تم إلغاء الاسم المعرِّف؟ إذا كانت الإجابة بنعم، فسيكتب TDM عنصرًا فارغًا. إذا لم يكن الاسم المعرِّف ورقة شجر، سيتخطّى TDM عناصره الثانوية.
[out] aIsPresent
هل يتوفّر اسم معرِّف؟ إذا كانت الإجابة "لا" وإذا لم يكن الاسم المعرِّف ورقة شجر، سيتخطّى 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
صحيح للتحديث المشروط، وصحيح في الحالات الأخرى.
قيم الإرجاع
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
)