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)
הפעלת ה-builder.
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
)

הפעלת ה-builder.

צריכה להתבצע רק פעם אחת.

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

MoveToState

WEAVE_ERROR MoveToState(
  NotifyRequestBuilderState aDesiredState
)

פונקציית המעבר של המדינה הראשית.

הפונקציה לוקחת את המצב הרצוי (כלומר, השלב של יוצר הבקשות לשליחת התראות שאליו רוצים להגיע) ומעבירה את הבקשה למצב הזה. אם המצב הרצוי זהה למצב הנוכחי, הפונקציה לא עושה דבר. אחרת, מוקצה PacketBuffer (במקרה הצורך). הפונקציה קודם מעבירה את הבקשה לבקשת התראה ברמה העליונה (פותחים את מבנה בקשת TLV או סוגרת את מאגר הנתונים הנוכחי של TLV לפי הצורך), ואז מעבירה את בקשת ה-Alert על ידי פתיחת מאגר הנתונים המתאים של 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
לא ניתן לאחזר ולכתוב את רכיב הנתונים.