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

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

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

ملخّص

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

وظائف عامة

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
)

Init

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