nl:: بافت:: پروفایل ها:: 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
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 یک عنصر null می نویسد. اگر 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 معتبر برای این نمونه Trait.
[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
)