nl:: بافت:: پروفایل ها:: DataManagement_Current:: Notification Engine:: NotifyRequestBuilder

#include <src/lib/profiles/data-management/Current/NotificationEngine.h>

این یک کلاس کمکی را برای نوشتن اطلاع رسانی و انتزاع ساختن و ساختار پیام از مصرف کنندگان خود فراهم می کند.

خلاصه

این یک نسخه فشرده تر از کلاس مشابه ارائه شده در MessageDef.cpp است که هدف آن حساس بودن به نیازهای فلش و رم دستگاه است.

توابع عمومی

Checkpoint ( TLV::TLVWriter & aPoint)
وضعیت درخواست را در یک TLVWriter بررسی کنید.
EndDataList ()
ساخت آرایه لیست داده را پایان دهید.
EndEventList ()
پایان ساخت لیست رویداد.
EndNotifyRequest ()
پایان ساخت notify.
GetWriter (void)
Init (PacketBuffer *aBuf, TLV::TLVWriter *aWriter, SubscriptionHandler *aSubHandler, uint32_t aMaxPayloadSize)
سازنده را مقداردهی اولیه می کند.
MoveToState ( NotifyRequestBuilderState aDesiredState)
تابع انتقال حالت اصلی.
Rollback ( TLV::TLVWriter & aPoint)
حالت درخواست را به TLVWriter بازرسی شده برگردانید.
StartDataList (void)
ساخت آرایه لیست داده را شروع می کند.
StartEventList ()
ساخت لیست رویداد را شروع می کند.
StartNotifyRequest ()
ساخت notify را شروع کنید.
WriteDataElement (TraitDataHandle aTraitDataHandle, PropertyPathHandle aPropertyPathHandle, SchemaVersion aSchemaVersion, PropertyPathHandle *aMergeDataHandleSet, uint32_t aNumMergeDataHandles, PropertyPathHandle *aDeleteHandleSet, uint32_t aNumDeleteHandles)
با توجه به یک مسیر مشخصه، عنصر داده مرتبط با آن مسیر را بنویسید.

توابع عمومی

ایست بازرسی

WEAVE_ERROR Checkpoint(
  TLV::TLVWriter & aPoint
)

وضعیت درخواست را در یک TLVWriter بررسی کنید.

جزئیات
پارامترها
[out] aPoint
نویسنده ای برای بررسی وضعیت نویسنده TLV .
ارزش های بازگشتی
WEAVE_NO_ERROR
در مورد موفقیت

EndDataList

WEAVE_ERROR EndDataList()

ساخت آرایه لیست داده را پایان دهید.

جزئیات
ارزش های بازگشتی
WEAVE_NO_ERROR
در مورد موفقیت
WEAVE_ERROR_INCORRECT_STATE
اگر درخواست در ظرف DataList نباشد.
other
ساخت انتهای لیست داده ها ممکن نیست.

EndEventList

WEAVE_ERROR EndEventList()

پایان ساخت لیست رویداد.

جزئیات
ارزش های بازگشتی
WEAVE_NO_ERROR
در مورد موفقیت
WEAVE_ERROR_INCORRECT_STATE
اگر درخواست در ظرف EventList نباشد.
other
ساخت انتهای لیست داده ها ممکن نیست.

EndNotifyRequest

WEAVE_ERROR EndNotifyRequest()

پایان ساخت notify.

جزئیات
ارزش های بازگشتی
WEAVE_NO_ERROR
در مورد موفقیت
WEAVE_ERROR_INCORRECT_STATE
اگر درخواست در کانتینر Notify نباشد.
other
ساخت پایان اعلان ممکن نیست.

GetWriter

TLV::TLVWriter * GetWriter(
  void
)

شروع کنید

WEAVE_ERROR Init(
  PacketBuffer *aBuf,
  TLV::TLVWriter *aWriter,
  SubscriptionHandler *aSubHandler,
  uint32_t aMaxPayloadSize
)

سازنده را مقداردهی اولیه می کند.

فقط یکبار باید تماس گرفت

جزئیات
ارزش های بازگشتی
WEAVE_NO_ERROR
در مورد موفقیت
other
قادر به مقداردهی اولیه سازنده نبود.

MoveToState

WEAVE_ERROR MoveToState(
  NotifyRequestBuilderState aDesiredState
)

تابع انتقال حالت اصلی.

تابع حالت مورد نظر را می گیرد (یعنی فاز سازنده درخواست اطلاع رسانی که می خواهیم به آن برسیم) و درخواست را به آن حالت انتقال می دهد. اگر حالت مورد نظر با حالت فعلی یکسان باشد، تابع هیچ کاری انجام نمی دهد. در غیر این صورت، یک PacketBuffer اختصاص داده می شود (در صورت نیاز). این تابع ابتدا درخواست را به درخواست اطلاع رسانی سطح بالا منتقل می کند (یا ساختار درخواست اطلاع رسانی TLV را باز می کند، یا در صورت نیاز ظرف داده فعلی TLV را می بندد)، و سپس درخواست Notify را با باز کردن ظرف داده TLV مناسب یا با بستن محفظه فراگیر انتقال می دهد. درخواست را اطلاع دهید

جزئیات
پارامترها
aDesiredState
حالت مطلوبی که درخواست باید به آن منتقل شود
ارزش های بازگشتی
WEAVE_NO_ERROR
در مورد موفقیت
WEAVE_ERROR_NO_MEMORY
به دلیل حافظه ناکافی، نمی توان به حالت انتقال داد.
WEAVE_ERROR_INCORRECT_STATE
فساد ماشین دولتی داخلی
other
هنگامی که ماشین حالت نمی تواند وضعیت را در بافر خود ثبت کند، احتمالاً به جای یک مشکل در زمان اجرا، یک نقص طراحی را نشان می دهد.

بازگشت به عقب

WEAVE_ERROR Rollback(
  TLV::TLVWriter & aPoint
)

حالت درخواست را به TLVWriter بازرسی شده برگردانید.

جزئیات
پارامترها
[in] aPoint
نویسنده ای که در گذشته ایالت را تسخیر کرده بود
ارزش های بازگشتی
WEAVE_NO_ERROR
در مورد موفقیت

StartDataList

WEAVE_ERROR StartDataList(
  void
)

ساخت آرایه لیست داده را شروع می کند.

جزئیات
ارزش های بازگشتی
WEAVE_NO_ERROR
در مورد موفقیت
WEAVE_ERROR_INCORRECT_STATE
اگر درخواست در کانتینر Notify نباشد.
other
ایجاد ابتدای لیست داده ها ممکن نیست.

StartEventList

WEAVE_ERROR StartEventList()

ساخت لیست رویداد را شروع می کند.

جزئیات
ارزش های بازگشتی
WEAVE_NO_ERROR
در مورد موفقیت
WEAVE_ERROR_INCORRECT_STATE
اگر درخواست در کانتینر Notify نباشد.
other
ایجاد ابتدای لیست داده ها ممکن نیست.

StartNotifyRequest

WEAVE_ERROR StartNotifyRequest()

ساخت notify را شروع کنید.

جزئیات
ارزش های بازگشتی
WEAVE_NO_ERROR
در مورد موفقیت
WEAVE_ERROR_INCORRECT_STATE
اگر درخواست در سطح بالای بافر نباشد.
other
ساخت پایان اعلان ممکن نیست.

WriteDataElement

WEAVE_ERROR WriteDataElement(
  TraitDataHandle aTraitDataHandle,
  PropertyPathHandle aPropertyPathHandle,
  SchemaVersion aSchemaVersion,
  PropertyPathHandle *aMergeDataHandleSet,
  uint32_t aNumMergeDataHandles,
  PropertyPathHandle *aDeleteHandleSet,
  uint32_t aNumDeleteHandles
)

با توجه به یک مسیر مشخصه، عنصر داده مرتبط با آن مسیر را بنویسید.

تماس‌گیرنده همچنین می‌تواند به‌صورت اختیاری در مجموعه دسته‌ای عبور کند و اجازه می‌دهد تا عملیات ادغام را با مجموعه باریک‌تری از گره‌های فرزند فوری دسته مسیر ویژگی والد اعمال کند.

جزئیات
ارزش های بازگشتی
WEAVE_NO_ERROR
در مورد موفقیت
other
بازیابی و نوشتن عنصر داده ممکن نیست.