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

ملخّص

الأنواع العلنية

@142 تعداد
EventCallback)(void *const aAppState, EventID aEvent, const InEventParam &aInParam, OutEventParam &aOutParam) typedef
void(*
EventID تعداد
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)
تبدأ هذه الدالة عملية إيقاف الاشتراك وتنظيف عنصر المعالج.
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
)

تبدأ هذه الدالة عملية إيقاف الاشتراك وتنظيف عنصر المعالج.

إنهاء اشتراك الناشر بلطف.

هذه مكالمة غير متزامنة وستُعلِم العميل بعملية إيقاف التشغيل الوشيكة من خلال رسالة SubscribeCancel/StatusReport عند الاقتضاء.

ويؤدّي ذلك على وجه التحديد إلى إلغاء أي مشاركة للتطبيق في هذا الاشتراك. بعد هذه المكالمة، لن يتم إشعار التطبيق بأي نشاط آخر على هذا الهدف. بالإضافة إلى ذلك، لا يُسمَح للتطبيق بالتفاعل مع هذا الكائن بعد ذلك من خلال أي من طرقه.

ينهي نهاية اشتراك الناشر بلطف. إذا تم تفعيل دعم إلغاء الاشتراك، يتم إرسال رسالة SubscribeCancelRequest إلى عميل الاشتراك وينتظر النظام ردًا قبل إنهاء الاشتراك، وإلا يتم إنهاء الاشتراك في الحال بطريقة تشبه AbortSubscription(). وفي حال وجود اشتراك متبادل، يتم أيضًا إنهاء الاشتراك المقابل من الناشر الذي يعود إلى العميل.

التفاصيل
المَعلمات
[in] aReasonProfileId
رقم تعريف الملف الشخصي لرمز الحالة الذي يشير إلى السبب وراء الإنهاء
[in] aReasonStatusCode
رمز الحالة الذي يشير إلى سبب الإنهاء
قيم الإرجاع
Returns
رمز خطأ Weave لأغراض إعلامية فقط. وفي حال حدوث أي خطأ، سيتم إنهاء العنصر بشكلٍ متزامن (أي الإلغاء).

أثناء انتظار الرد على 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
)