nl :: نسج:: مظهر:: إدارة البيانات_ الحالية :: 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
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

الوظائف العامة

مسح محدث

WEAVE_ERROR ClearUpdated(
  SubscriptionClient *apSubClient,
  PropertyPathHandle aPropertyHandle
)

احصل على البيانات

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
هل اليد باطلة؟ إذا كانت الإجابة بنعم ، فستكتب TDM عنصرًا فارغًا. إذا لم تكن aHandle ورقة ، فسيقوم 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
)

إقرأ البيانات

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
)