nl:: Weave:: Profiles:: DataManagement_Current:: SubscriptionHandler
ملخّص
الأنواع العلنية |
|
---|---|
@142
|
تعداد |
EventCallback)(void *const aAppState, EventID aEvent, const InEventParam &aInParam, OutEventParam &aOutParam)
|
typedefvoid(*
|
EventID
|
تعداد |
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)
|
تبدأ هذه الدالة عملية إيقاف الاشتراك وتنظيف عنصر المعالج.
|
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 )
تبدأ هذه الدالة عملية إيقاف الاشتراك وتنظيف عنصر المعالج.
إنهاء اشتراك الناشر بلطف.
هذه مكالمة غير متزامنة وستُعلِم العميل بعملية إيقاف التشغيل الوشيكة من خلال رسالة SubscribeCancel/StatusReport عند الاقتضاء.
ويؤدّي ذلك على وجه التحديد إلى إلغاء أي مشاركة للتطبيق في هذا الاشتراك. بعد هذه المكالمة، لن يتم إشعار التطبيق بأي نشاط آخر على هذا الهدف. بالإضافة إلى ذلك، لا يُسمَح للتطبيق بالتفاعل مع هذا الكائن بعد ذلك من خلال أي من طرقه.
ينهي نهاية اشتراك الناشر بلطف. إذا تم تفعيل دعم إلغاء الاشتراك، يتم إرسال رسالة SubscribeCancelRequest إلى عميل الاشتراك وينتظر النظام ردًا قبل إنهاء الاشتراك، وإلا يتم إنهاء الاشتراك في الحال بطريقة تشبه AbortSubscription(). وفي حال وجود اشتراك متبادل، يتم أيضًا إنهاء الاشتراك المقابل من الناشر الذي يعود إلى العميل.
التفاصيل | |||||
---|---|---|---|---|---|
المَعلمات |
|
||||
قيم الإرجاع |
|
أثناء انتظار الرد على SubscribeCancelRequest، تدخل القيمة SubscriptionHandler
في الحالة Canceling
.
بعد بدء عملية الإنهاء، يدخل العنصر SubscriptionHandler
الحالة Terminated
ويتم تسليم حدث OnSubscriptionTerminated
إلى معالج أحداث التطبيق. تجدر الإشارة إلى أنّه في حال لم يتم تفعيل دعم الإلغاء، قد يتم استدعاء معالج الحدث بشكل متزامن في استدعاء 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 )