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/StatusReport במקרים הרלוונטיים.

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

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

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

בזמן ההמתנה לתשובה לבקשת SubscribeCancelRequest, SubscriptionHandler נכנסת למדינה Canceling.

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

אחרי שה-handler של האירועים של האפליקציה חוזר, אם אין הפניות נוספות לאובייקט 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
)