nl::Weave::Profiles::DataManagement_Current::NotificationEngine::NotifyRequestBuilder

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

ويوفّر ذلك فئة مساعدة لإنشاء الرسائل وتجريدها من بنية الرسالة وبنيتها عن المستهلكين.

ملخّص

وهذا إصدار أكثر إحكامًا من فئة مشابهة مقدَّمة في MessageDef.cpp يهدف إلى مراعاة متطلبات الفلاش وذاكرة الوصول العشوائي (RAM) في الجهاز.

الدوال العامة

Checkpoint(TLV::TLVWriter & aPoint)
ضَع علامة على حالة الطلب لتصبح TLVWriter.
EndDataList()
قم بإنهاء إنشاء صفيف قائمة البيانات.
EndEventList()
إنهاء إنشاء قائمة الأحداث
EndNotifyRequest()
إنهاء إنشاء الإشعار
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()
ابدأ إنشاء الإشعار.
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()

إنهاء إنشاء الإشعار

التفاصيل
قيم الإرجاع
WEAVE_NO_ERROR
عند النجاح
WEAVE_ERROR_INCORRECT_STATE
إذا لم يكن الطلب في حاوية الإشعار.
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 الحالية حسب الحاجة)، ثم نقل طلب الإشعار إما من خلال فتح حاوية بيانات 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
إذا لم يكن الطلب في حاوية الإشعار.
other
يتعذّر إنشاء بداية قائمة البيانات.

StartEventList

WEAVE_ERROR StartEventList()

بدء إنشاء قائمة الأحداث

التفاصيل
قيم الإرجاع
WEAVE_NO_ERROR
عند النجاح
WEAVE_ERROR_INCORRECT_STATE
إذا لم يكن الطلب في حاوية الإشعار.
other
يتعذّر إنشاء بداية قائمة البيانات.

StartNotifyRequest

WEAVE_ERROR StartNotifyRequest()

ابدأ إنشاء الإشعار.

التفاصيل
قيم الإرجاع
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
تعذّر استرداد عنصر البيانات وكتابته.