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

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

היא מספקת כיתת עזר שבה היא יכולה לשלוח התראה ולהפשט את הבנייה והמבנה של המסר מהצרכנים שלה.

סיכום

זוהי גרסה קומפקטית יותר של מחלקה דומה שסופקה ב-MessageDef.cpp שמטרתה להיות רגישה לצורכי ה-Flash וה-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)
בהינתן נתיב של trait, כותבים את רכיב הנתונים שמשויך לנתיב הזה.

תפקידים ציבוריים

נקודת ביקורת

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
לא ניתן להפעיל את ה-builder.

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
)

בהינתן נתיב של trait, כותבים את רכיב הנתונים שמשויך לנתיב הזה.

מבצע הקריאה החוזרת יכול גם להעביר בקבוצת כינוי כדי למנף את פעולת המיזוג עם קבוצה צרה יותר של צומתי צאצא מיידיים של נקודת האחיזה לנתיב של נכס ההורה.

פרטים
ערכים מוחזרים
WEAVE_NO_ERROR
בהצלחה.
other
לא ניתן לאחזר ולכתוב את רכיב הנתונים.