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

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

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

סיכום

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

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

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

ירושה

ירש מ-:
  nl::Weave::Profiles::DataManagement_Legacy::ProtocolEngine
  nl::Weave::Profiles::DataManagement_Legacy::ClientDataManager

בונים והורסים

DMClient(void)
בנאי ברירת המחדל של אובייקטים של DMClient.
~DMClient(void)
ה-Destructor של האובייקטים של 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
)

ה-Destructor של האובייקטים של DMClient.

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

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

NewUpdate

Update * NewUpdate(
  void
)

NewView

View * NewView(
  void
)