nl::Weave::Profiles::DataManagement_Current::SubscriptionHandler

סיכום

סוגים ציבוריים

@142 טיפוסים בני מנייה (enum)
EventCallback)(void *const aAppState, EventID aEvent, const InEventParam &aInParam, OutEventParam &aOutParam) typedef
void(*
EventID טיפוסים בני מנייה (enum)
HandlerId typedef
uint8_t

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

DefaultEventHandler(EventID aEvent, const InEventParam & aInParam, OutEventParam & aOutParam)
void

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

AbortSubscription(void)
void
הפונקציה הזו מסיימת מינוי באופן מיידי – זוהי קריאה מסונכרנת.
AcceptSubscribeRequest(const uint32_t aLivenessTimeoutSec)
EndSubscription(const uint32_t aReasonProfileId, const uint16_t aReasonStatusCode)
הפונקציה הזו יוזמת השבתה תקינה של המינוי וניקוי האובייקט של ה-handler.
GetBinding(void) const
GetMaxNotificationSize(void) const
uint32_t
GetPeerNodeId(void) const
uint64_t
GetSubscriptionId(uint64_t *const apSubscriptionId)
IsActive(void)
bool
IsCanceling() const
bool
IsEstablishedIdle()
bool
IsFree()
bool
IsTerminated()
bool
SetMaxNotificationSize(const uint32_t aMaxPayload)
void

מבנים

nl::Weave::Profiles::DataManagement_Current::SubscriptionHandler::TraitInstanceInfo

איגודים

nl::Weave::Profiles::DataManagement_Current::SubscriptionHandler::InEventParam
nl::Weave::Profiles::DataManagement_Current::SubscriptionHandler::OutEventParam

סוגים ציבוריים

@142

 @142

EventCallback

void(* EventCallback)(void *const aAppState, EventID aEvent, const InEventParam &aInParam, OutEventParam &aOutParam)

EventID

 EventID

HandlerId

uint8_t HandlerId

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

DefaultEventHandler

void DefaultEventHandler(
  EventID aEvent,
  const InEventParam & aInParam,
  OutEventParam & aOutParam
)

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

AbortSubscription

void AbortSubscription(
  void
)

הפונקציה הזו מסיימת מינוי באופן מיידי – זוהי קריאה מסונכרנת.

ביטול מינוי של בעל תוכן דיגיטלי.

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

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

לאחר קריאה ל-AbortSubscription(), האובייקט SubscriptionHandler נכנס למצב Terminated. אם אין הפניות נוספות לאובייקט בסיום תהליך הסיום, האובייקט SubscriptionHandler ישוחרר.

AcceptSubscribeRequest

WEAVE_ERROR AcceptSubscribeRequest(
  const uint32_t aLivenessTimeoutSec
)

EndSubscription

WEAVE_ERROR EndSubscription(
  const uint32_t aReasonProfileId,
  const uint16_t aReasonStatusCode
)

הפונקציה הזו יוזמת השבתה תקינה של המינוי וניקוי האובייקט של ה-handler.

כדאי לסיים בחביבות מינוי של אתר חדשות.

זוהי שיחה אסינכרונית והיא תודיע ללקוח על ההשבתה הצפויה באמצעות הודעת SubscribeCancel/Status Report, אם רלוונטי.

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

מסיים בחינוּת את סיום המינוי של בעל התוכן הדיגיטלי. אם התמיכה בביטול מינוי מופעלת, הודעת SubscribeCancelRequest נשלחת ללקוח המינוי והמערכת ממתינה לתשובה לפני סיום המינוי. אחרת, המינוי מסתיים מיד באופן דומה ל-AbortSubscription(). אם קיים מינוי הדדי, גם המינוי הנגדי מבעל התוכן הדיגיטלי בחזרה ללקוח יופסק.

פרטים
פרמטרים
[in] aReasonProfileId
ProfileId של קוד הסטטוס שמציין את הסיבה לסגירה
[in] aReasonStatusCode
StatusCode (קוד סטטוס) שמציין את הסיבה לסגירה
ערכים מוחזרים
Returns
קוד שגיאה של Weave למטרות מידע בלבד. בכל שגיאה, האובייקט יופסק באופן סינכרוני (כלומר בוטל).

בזמן ההמתנה לתשובה ל-SubscribeCancelRequest, הערך SubscriptionHandler נכנס למצב Canceling.

אחרי שתהליך הסיום מתחיל, האובייקט SubscriptionHandler נכנס למצב Terminated ואירוע OnSubscriptionTerminated מועבר ל-handler של האירועים של האפליקציה. לתשומת ליבכם: אם התמיכה בביטול לא מופעלת, ייתכן שה-handler של האירוע ייקרא באופן סינכרוני בתוך הקריאה ל-EndSubscription().

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

GetBinding

Binding * GetBinding(
  void
) const 

GetMaxNotificationSize

uint32_t GetMaxNotificationSize(
  void
) const 

GetPeerNodeId

uint64_t GetPeerNodeId(
  void
) const 

GetSubscriptionId

WEAVE_ERROR GetSubscriptionId(
  uint64_t *const apSubscriptionId
)

IsActive

bool IsActive(
  void
)

IsCanceling

bool IsCanceling() const 

IsEstablishedIdle

bool IsEstablishedIdle()

IsFree

bool IsFree()

IsTerminated

bool IsTerminated()

SetMaxNotificationSize

void SetMaxNotificationSize(
  const uint32_t aMaxPayload
)