nl::Weave::Profiles::DataManagement_Legacy::DMPublisher

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

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

סיכום

DMPublisher היא מחלקת הבסיס הרגילה של בעל תוכן דיגיטלי ב-WDM. זהו תערובת של מחלקה של ProtocolEngine ב-DM, שמטפלת ביצירת תקריב של התקשורת והמחלקה PublisherDataManager מופשטת לחלוטין. התמיכה במינויים ובהתראות היא אופציונלית ועשויה להיות מבוטלת על ידי הגדרת טבלת מינויים ללא רשומות.

ירושה

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

בנייה

DMPublisher(void)
בנאי ברירת המחדל של האובייקטים DMPublisher.
~DMPublisher(void)
כלי ההרס של אובייקטים של DMPublisher.

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

CancelTransactionRequest(uint16_t aTxnId, WEAVE_ERROR aError)
Clear(void)
virtual void
מוחקים את המצב הפנימי של אובייקט DMPublisher.
Finalize(void)
virtual void
משביתים את DMPublisher הפעיל.
IncompleteIndication(Binding *aBinding, StatusReport & aReport)
virtual void
טיפול בסימון שקישור נכשל.
Init(WeaveExchangeManager *aExchangeMgr, uint32_t aResponseTimeout)
virtual WEAVE_ERROR
מאתחלים אובייקט DMPublisher.
Init(WeaveExchangeManager *aExchangeMgr)
virtual WEAVE_ERROR
OnMsgReceived(ExchangeContext *aResponseCtx, uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aMsg)
void
UpdateResponse(ExchangeContext *aResponseCtx, StatusReport & aStatus)
להשיב לבקשה לעדכון.
ViewResponse(ExchangeContext *aResponseCtx, StatusReport & aStatus, ReferencedTLVData *aDataList)
להשיב לבקשה לצפייה.

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

CancelTransactionRequest

WEAVE_ERROR CancelTransactionRequest(
  uint16_t aTxnId,
  WEAVE_ERROR aError
)

ניקוי

virtual void Clear(
  void
)

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

ניקוי מאגר העסקאות של ההתראות וטבלת המינויים.

DMPublisher

 DMPublisher(
  void
)

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

ניקוי כל המצב הפנימי.

סיום

virtual void Finalize(
  void
)

משביתים את DMPublisher הפעיל.

ניקוי כל מצב ההפעלה וכיבוי ה-listener אם הוא פועל.

IncompleteIndication

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

טיפול בסימון שקישור נכשל.

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

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

Init

virtual WEAVE_ERROR Init(
  WeaveExchangeManager *aExchangeMgr,
  uint32_t aResponseTimeout
)

מאתחלים אובייקט DMPublisher.

לשיטה הזו יש תופעת לוואי של התקנת listener ב-Exchange Manager לכל מגוון בקשות הלקוח, כולל בקשות למינויים.

פרטים
פרמטרים
[in] aExchangeMgr
מצביע לאובייקט WeaveExchangeManager שבו יש להשתמש בכל הבורסות שבהן בעל האתר רוצה להשתתף.
[in] aResponseTimeout
הזמן הקצוב לתפוגה של תגובה באלפיות השנייה, כלומר משך הזמן המקסימלי להמתנה לתשובה.
החזרות
WEAVE_NO_ERROR בהצלחה. אחרת, מוחזר WEAVE_ERROR המשקף כשל בהגדרה נכונה של בעל האתר.

Init

virtual WEAVE_ERROR Init(
  WeaveExchangeManager *aExchangeMgr
)

OnMsgReceived

void OnMsgReceived(
  ExchangeContext *aResponseCtx,
  uint32_t aProfileId,
  uint8_t aMsgType,
  PacketBuffer *aMsg
)

UpdateResponse

WEAVE_ERROR UpdateResponse(
  ExchangeContext *aResponseCtx,
  StatusReport & aStatus
)

להשיב לבקשה לעדכון.

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

פרטים
פרמטרים
[in] aResponseCtx
מצביע אל ההקשר של הבורסה שבה הבקשה התקבלה.
[in] aStatus
הפניה לאובייקט StatusReport (דוח סטטוס) שמכיל מידע על סטטוס הבקשה.
החזרות
WEAVE_NO_ERROR בהצלחה. אחרת, מוחזר WEAVE_ERROR שמשקף את הבעיה בשליחת הודעת התשובה.

ViewResponse

WEAVE_ERROR ViewResponse(
  ExchangeContext *aResponseCtx,
  StatusReport & aStatus,
  ReferencedTLVData *aDataList
)

להשיב לבקשה לצפייה.

שולחים את התשובה לבקשה לצפייה לאחר העיבוד, באמצעות ההקשר של ה-Exchange שצוין באינדיקציה.

פרטים
פרמטרים
[in] aResponseCtx
מצביע אל ההקשר של הבורסה שבה הבקשה התקבלה.
[in] aStatus
הפניה לאובייקט StatusReport (דוח סטטוס) שמכיל מידע על סטטוס הבקשה. אם הצלחה זו מצליחה, מגיש הבקשה יצפה לרשימת נתונים הכוללת את הנתונים של העניין.
[in] aDataList
מצביע אל אובייקט אופציונלי מסוג ReferencedTLVData שמכיל רשימת נתונים בקידוד TLV שמכילה את הנתונים הרלוונטיים ואת הנתיבים שמציינים את אופן המיקום של הנתונים האלה. שימו לב שהפרמטר הזה יהיה NULL במקרה שבו הסטטוס שניתן בפרמטר הקודם אינו מוצלח.
מוחזר ערכים
WEAVE_NO_ERROR
הצלחה. אחרת, יש להחזיר שגיאה מסוג WEAVE_ERROR שמשקף את הבעיה בשליחת הודעת התשובה.
WEAVE_ERROR_INVALID_ARGUMENT
אם הפרמטרים הנתונים לא עקביים
WEAVE_ERROR_NO_MEMORY
אם אי אפשר להקצות מאגר נתונים זמני של Inet.

~DMPublisher

virtual  ~DMPublisher(
  void
)

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

ניקוי כל המצב הפנימי והסרת המאזינים ממנהל ה-Exchange אם קיים כזה.