تنظيم صفحاتك في مجموعات يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.

nl::Weave::الملفات الشخصية::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
النجاح.

قائمة البيانات

WEAVE_ERROR EndDataList()

إنهاء إنشاء مصفوفة قائمة البيانات

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

قائمة الحدث النهائية

WEAVE_ERROR EndEventList()

يمكنك إنهاء عملية إنشاء قائمة الأحداث.

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

إنهاء الطلب

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
تعذّر إعداد أداة الإنشاء.

نقل إلى الحالة

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
النجاح.

قائمة بيانات البدء

WEAVE_ERROR StartDataList(
  void
)

يبدأ إنشاء مصفوفة قائمة البيانات.

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

قائمة البدء

WEAVE_ERROR StartEventList()

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

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

بدء طلب الإشعار

WEAVE_ERROR StartNotifyRequest()

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

التفاصيل
قيم الإرجاع
WEAVE_NO_ERROR
النجاح.
WEAVE_ERROR_INCORRECT_STATE
إذا لم يكن الطلب في المستوى الأعلى من المخزن المؤقت
other
تعذّر إنشاء نهاية الإشعار.

كتابة بيانات

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

بعد إدراج مسار سمة، اكتب عنصر البيانات المرتبط بهذا المسار.

يمكن للمتصل أيضًا اختياريًا إدخال مجموعة الحسابات التي تسمح بالاستفادة من عملية الدمج من خلال مجموعة أضيق من العُقد الفرعية المباشرة لمعالجة مسار الموقع الرئيسي.

التفاصيل
قيم الإرجاع
WEAVE_NO_ERROR
النجاح.
other
يتعذّر استرداد عنصر البيانات وكتابته.