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/StatusReport במקרים הרלוונטיים.
חשוב לציין שבכך מוותר על מעורבות האפליקציה במינוי הזה. לאחר הקריאה האפליקציה לא תקבל הודעה לגבי פעילות נוספת באובייקט הזה. בנוסף, האפליקציה אינה מורשית לקיים אינטראקציה עם אובייקט זה לאחר מכן באמצעות אף אחת מהשיטות שלו.
מסיים בזריזות את סיום המינוי של המוציא לאור. אם התמיכה בביטול מינוי מופעלת, הודעת SubscribeCancelRequest נשלחת ללקוח המינוי והמערכת ממתינה לתשובה לפני סיום המינוי. אחרת, המינוי מסתיים באופן מיידי באופן דומה ל-AbortSubscription(). אם קיים מינוי משותף, המינוי הנגדי מבעל המינוי בחזרה ללקוח מסתיים גם כן.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
||||
ערכים מוחזרים |
|
בזמן ההמתנה לתשובה לבקשת 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 )