nl:: Weave:: Profiles:: DataManagement_Current:: SubscriptionHandler
סיכום
סוגים ציבוריים |
|
---|---|
@142
|
טיפוסים בני מנייה (enum) |
EventCallback)(void *const aAppState, EventID aEvent, const InEventParam &aInParam, OutEventParam &aOutParam)
|
typedefvoid(*
|
EventID
|
טיפוסים בני מנייה (enum) |
HandlerId
|
typedefuint8_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
|
Binding *
|
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:: |
איגודים |
|
---|---|
nl:: |
|
nl:: |
סוגים ציבוריים
@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(). אם קיים מינוי הדדי, גם המינוי הנגדי מבעל התוכן הדיגיטלי בחזרה ללקוח יופסק.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
||||
ערכים מוחזרים |
|
בזמן ההמתנה לתשובה ל-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 )