nl::Weave::Profiles::DataManagement_Legacy::DMClient

#include <src/lib/profiles/data-management/Legacy/DMClient.h>

מחלקת הבסיס המופשטת ללקוחות WDM ספציפיים לאפליקציה.

סיכום

DMClient הוא לקוח WDM הרגיל. ההטמעה כוללת אפשרות של מינוי/התראה. מדובר בשילוב של מחלקה של ProtocolEngine, שמטפלת ביצירת תקריב של תקשורת, ובמחלקה ClientDataManager המופשטת לחלוטין, שבה מוטמעות חלק מהשיטות שקשורות למינויים, כדי ששכבות גבוהות יותר לא יצטרכו לדאוג להן.

הגורמים המטפלים במשימות שקשורות למינויים פועלים בעיקר כמתאם דק מעל לאובייקט ClientNotifier. מטמיעי מחלקות משנה צריכים לקרוא לשיטות הרלוונטיות של מחלקה-על כדי להפעיל את הניהול של המינויים.

לשיטות הבקשה של DMClient יש בדרך כלל 2 חתימות, אחת עם מזהה צומת יעד מפורש והשנייה עם יעד מוגדר. בכל מקרה, היכולת לשלוח הודעה לבעל תוכן דיגיטלי תלויה בקישור קיים בלקוח, אבל במקרה הראשון, מזהה היעד מיועד לבחירה בין יעדים מקושרים מרובים, ובמקרה השני הפריט הראשון בטבלת הקישורים נבחר כברירת מחדל. זה שימושי, לדוגמה, אם הלקוח יהיה כפוף תמיד לבעל אתר אחד בלבד.

ירושה

עובר בירושה מ:
  nl::Weave::Profiles::DataManagement_Legacy::ProtocolEngine
  nl::Weave::Profiles::DataManagement_Legacy::ClientDataManager

בנייה

DMClient(void)
בנאי ברירת המחדל של אובייקטים של DMClient.
~DMClient(void)
כלי ההרכבה של אובייקטים של DMClient.
ViewRequest(const uint64_t & aDestinationId, ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout)
virtual WEAVE_ERROR
בקשה לתצוגה של נתונים שפורסמו.
ViewRequest(ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout)
virtual WEAVE_ERROR
בקשה לתצוגה של נתונים אצל בעל האפליקציה שמוגדר כברירת מחדל
UpdateRequest(const uint64_t & aDestinationId, ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout)
virtual WEAVE_ERROR
מבקשים עדכון לנתונים שפורסמו.
UpdateRequest(ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout)
virtual WEAVE_ERROR
צריך לבקש עדכון של הנתונים בבעל האפליקציה שמוגדר כברירת מחדל.

מאפיינים מוגנים

mUpdatePool[kUpdatePoolSize]
mViewPool[kViewPoolSize]

פונקציות ציבוריות

CancelTransactionRequest(uint16_t aTxnId, WEAVE_ERROR aError)
מבקשים לבטל עסקה שמבצעת.
Clear(void)
virtual void
ניקוי המצב הפנימי שמשויך לאובייקט DMClient.
Finalize(void)
virtual void
כיבוי של DMClient בהפעלה.
IncompleteIndication(Binding *aBinding, StatusReport & aReport)
virtual void
טיפול ב"השלמת הפעולה" קישור שבו הלקוח משתמש.

פונקציות מוגנות

NewUpdate(void)
Update *
NewView(void)
View *

ViewRequest

virtual WEAVE_ERROR ViewRequest(
  const uint64_t & aDestinationId,
  ReferencedTLVData & aPathList,
  uint16_t aTxnId,
  uint32_t aTimeout
)

בקשה לתצוגה של נתונים שפורסמו.

בקשה לתצוגה של נתונים השמורים ומנוהלים על ידי בעל האתר המרוחק שצוין.

פרטים
פרמטרים
[in] aDestinationId
הפניה למזהה הצומת של 64 ביט של המפרסם המרוחק.
[in] aPathList
הפניה לאובייקט ReferencedTLVData שמכיל רשימת נתיבים בקידוד TLV שמציינת את הנתונים המבוקשים.
[in] aTxnId
מזהה לעסקת WDM שהוגדר לניהול פעולת התצוגה המפורטת הזו.
[in] aTimeout
משך הזמן המקסימלי באלפיות שנייה שצריך להמתין לתגובת הצפייה.
מוחזר ערכים
WEAVE_NO_ERROR
הצלחה.
WEAVE_ERROR_NO_MEMORY
אם לא ניתן להקצות עסקה.
החזרות
אחרת, ערך WEAVE_ERROR שמשקף את כשל באתחול או בהתחלת העסקה.

ViewRequest

virtual WEAVE_ERROR ViewRequest(
  ReferencedTLVData & aPathList,
  uint16_t aTxnId,
  uint32_t aTimeout
)

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

בקשה לתצוגה של נתונים השוכנים ומנוהלים על ידי 'ברירת המחדל' בעל אתר, כלומר בעל האתר הראשון (או היחיד) בטבלת הקישורים של הלקוח.

פרטים
פרמטרים
[in] aPathList
הפניה לאובייקט ReferencedTLVData שמכיל רשימת נתיבים בקידוד TLV שמציינת את הנתונים המבוקשים.
[in] aTxnId
מזהה לעסקת WDM שהוגדר לניהול פעולת התצוגה המפורטת הזו.
[in] aTimeout
משך הזמן המקסימלי באלפיות שנייה שצריך להמתין לתגובת הצפייה.
מוחזר ערכים
WEAVE_NO_ERROR
הצלחה.
WEAVE_ERROR_NO_MEMORY
אם לא ניתן להקצות עסקה.
החזרות
אחרת, ערך WEAVE_ERROR שמשקף את כשל באתחול או בהתחלת העסקה.

UpdateRequest

virtual WEAVE_ERROR UpdateRequest(
  const uint64_t & aDestinationId,
  ReferencedTLVData & aDataList,
  uint16_t aTxnId,
  uint32_t aTimeout
)

מבקשים עדכון לנתונים שפורסמו.

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

פרטים
פרמטרים
[in] aDestinationId
הפניה למזהה הצומת של 64 ביט של בעל האתר המרוחק שאליו הבקשה נשלחת.
[in] aDataList
הפניה לאובייקט ReferencedTLVData שמכיל רשימת נתונים בקידוד TLV שמכילה ייצוג של העדכון, כולל הנתיבים שעליהם יש להחיל את העדכון.
[in] aTxnId
מזהה לעסקה שהוגדר לניהול בקשת העדכון.
[in] aTimeout
משך הזמן המקסימלי, באלפיות שנייה, שצריך להמתין לדוח הסטטוס המתאים.
החזרות
WEAVE_NO_ERROR לאחר הצלחה או WEAVE_ERROR_NO_MEMORY אם לא ניתן להקצות עסקת עדכון. אחרת, מוחזר WEAVE_ERROR שמשקף כשל בעדכון.

UpdateRequest

virtual WEAVE_ERROR UpdateRequest(
  ReferencedTLVData & aDataList,
  uint16_t aTxnId,
  uint32_t aTimeout
)

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

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

פרטים
פרמטרים
[in] aDataList
הפניה לאובייקט ReferencedTLVData שמכיל רשימת נתונים בקידוד TLV שמכילה ייצוג של העדכון, כולל הנתיבים שעליהם יש להחיל את העדכון.
[in] aTxnId
מזהה לעסקה שהוגדר לניהול בקשת העדכון.
[in] aTimeout
משך הזמן המקסימלי, באלפיות שנייה, שצריך להמתין לדוח הסטטוס המתאים.
החזרות
WEAVE_NO_ERROR לאחר הצלחה או WEAVE_ERROR_NO_MEMORY אם לא ניתן להקצות עסקת עדכון. אחרת, מוחזר WEAVE_ERROR שמשקף כשל בעדכון.

מאפיינים מוגנים

mUpdatePool

Update mUpdatePool[kUpdatePoolSize]

mViewPool

View mViewPool[kViewPoolSize]

פונקציות ציבוריות

CancelTransactionRequest

WEAVE_ERROR CancelTransactionRequest(
  uint16_t aTxnId,
  WEAVE_ERROR aError
)

מבקשים לבטל עסקה שמבצעת.

השיטה הזו לא יוצרת תנועה ברשת, אלא רק משחררת משאבים שהוקצו עבור הטרנזקציות שצוינו

פרטים
פרמטרים
[in] aTxnId
מספר העסקה שצריך לבטל. אם תספקו את השדה kTransactionIdNotSpecified, כל העסקאות יבוטלו.
[in] aError
ערך WEAVE_ERROR לדיווח בעת ביטול העסקה.
החזרות
WEAVE_NO_ERROR במקרה של הצלחה או הודעת WEAVE_ERROR שמשקפת כשל בביטול העסקה.

ניקוי

virtual void Clear(
  void
)

ניקוי המצב הפנימי שמשויך לאובייקט DMClient.

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

למידע נוסף:
Finalize()

DMClient

 DMClient(
  void
)

בנאי ברירת המחדל של אובייקטים של DMClient.

ניקוי כל המצב הפנימי. DMClient מחייב אתחול נוסף עם Init() לפני השימוש.

סיום

virtual void Finalize(
  void
)

כיבוי של DMClient בהפעלה.

ניקוי של כל מצב ההפעלה שמשויך ללקוח והסרה של כל המינויים הקשורים משירות ההתראות. אחרי קריאה ל-Finalize(), אפשר לאתחל מחדש את DMClient פשוט על ידי קריאה ל-Init(). Finalize() מופעל על ידי ה-destructor של DMClient, אבל יכול להיות שהקריאה שלו מופעלת במקרה שבו נדרש ניקוי של DMClient, למשל. במקרה של כשל או כיבוי זמני, אך ייתכן שיהיה צורך לשחזר אותו במועד מאוחר יותר.

IncompleteIndication

virtual void IncompleteIndication(
  Binding *aBinding,
  StatusReport & aReport
)

טיפול ב"השלמת הפעולה" קישור שבו הלקוח משתמש.

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

פרטים
פרמטרים
[in] aBinding
מצביע על כך שהקישור לא הושלם.
[in] aReport
הפניה לדוח סטטוס שמספק את הסיבה לכשל.

~DMClient

virtual  ~DMClient(
  void
)

כלי ההרכבה של אובייקטים של DMClient.

ניקוי כל המצב הפנימי, ואם צריך, מבטל מינויים בהמתנה.

פונקציות מוגנות

NewUpdate

Update * NewUpdate(
  void
)

NewView

View * NewView(
  void
)