nl::Weave::Profiles::DataManagement_Legacy::DMPublisher

#include <src/lib/profiles/data-management/Legacy/DMPublisher.h>

الفئة الأساسية المجرّدة لناشري WDM لتطبيقات معيّنة.

ملخّص

DMPublisher هي الفئة الأساسية للناشرين في WDM. وهو خليط من فئة ProtocolEngine الرئيسية التي تتولى إدارة تدوير المراسلات وفئة PublisherDataManager المجرّدة. دعم الاشتراك والإشعار اختياري، ويمكن إلغاؤه ببساطة من خلال إعداد جدول اشتراك بدون إدخالات.

الاكتساب

موروث من:
  nl::Weave::Profiles::DataManagement_Legacy::ProtocolEngine
  nl::Weave::Profiles::DataManagement_Legacy::PublisherDataManager

الدلالة والهياكل

DMPublisher(void)
الدالة الإنشائية التلقائية لكائنات DMPublisher.
~DMPublisher(void)
دالة الحذف لكائنات DMPublisher.

الدوال العامة

CancelTransactionRequest(uint16_t aTxnId, WEAVE_ERROR aError)
Clear(void)
virtual void
محو الحالة الداخلية لكائن DMPublisher.
Finalize(void)
virtual void
إيقاف DMPublisher قيد التشغيل.
IncompleteIndication(Binding *aBinding, StatusReport & aReport)
virtual void
التعامل مع إشارة إلى تعذُّر إجراء عملية الربط
Init(WeaveExchangeManager *aExchangeMgr, uint32_t aResponseTimeout)
virtual WEAVE_ERROR
إعداد كائن DMPublisher.
Init(WeaveExchangeManager *aExchangeMgr)
virtual WEAVE_ERROR
OnMsgReceived(ExchangeContext *aResponseCtx, uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aMsg)
void
UpdateResponse(ExchangeContext *aResponseCtx, StatusReport & aStatus)
الردّ على طلب تعديل
ViewResponse(ExchangeContext *aResponseCtx, StatusReport & aStatus, ReferencedTLVData *aDataList)
الردّ على طلب مشاهدة

الدوال العامة

CancelTransactionRequest

WEAVE_ERROR CancelTransactionRequest(
  uint16_t aTxnId,
  WEAVE_ERROR aError
)

محو

virtual void Clear(
  void
)

محو الحالة الداخلية لكائن DMPublisher.

محو مجموعة الإشعارات وجدول الاشتراكات.

DMPublisher

 DMPublisher(
  void
)

الدالة الإنشائية التلقائية لكائنات DMPublisher.

محو كل الحالات الداخلية

الصياغة النهائية

virtual void Finalize(
  void
)

إيقاف DMPublisher قيد التشغيل.

يمحو هذا الإعداد جميع حالات التشغيل ويغلق المستمع إذا كان قيد التشغيل.

IncompleteIndication

virtual void IncompleteIndication(
  Binding *aBinding,
  StatusReport & aReport
)

التعامل مع إشارة إلى تعذُّر إجراء عملية الربط

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

التفاصيل
المَعلمات
[in] aBinding
مؤشر يشير إلى عملية الربط التي تعذّر إتمامها.
[in] aReport
مرجع إلى عنصر StatusReport الذي يوضح بالتفصيل سبب الفشل.

إنت

virtual WEAVE_ERROR Init(
  WeaveExchangeManager *aExchangeMgr,
  uint32_t aResponseTimeout
)

إعداد كائن DMPublisher.

تؤدي هذه الطريقة إلى تثبيت أداة معالجة في مدير Exchange لمجموعة كاملة من طلبات العملاء والتي قد تشمل طلبات الاشتراك.

التفاصيل
المَعلمات
[in] aExchangeMgr
مؤشر يشير إلى الكائن WeaveExchangeManager المطلوب استخدامه لجميع عمليات التبادل التي يرغب الناشر في المشاركة فيها.
[in] aResponseTimeout
مهلة الاستجابة بالمللي ثانية، أي الحد الأقصى لوقت انتظار الرد.
المرتجعات
WEAVE_NO_ERROR بنجاح. وبخلاف ذلك، يمكنك عرض خطأ WEAVE_ERROR يشير إلى تعذّر إعداد الناشر بشكل صحيح.

إنت

virtual WEAVE_ERROR Init(
  WeaveExchangeManager *aExchangeMgr
)

OnMsgReceived

void OnMsgReceived(
  ExchangeContext *aResponseCtx,
  uint32_t aProfileId,
  uint8_t aMsgType,
  PacketBuffer *aMsg
)

UpdateResponse

WEAVE_ERROR UpdateResponse(
  ExchangeContext *aResponseCtx,
  StatusReport & aStatus
)

الردّ على طلب تعديل

إرسال الردّ على طلب تعديل بعد المعالجة، باستخدام سياق التبادل المحدَّد في المؤشر

التفاصيل
المَعلمات
[in] aResponseCtx
مؤشر يشير إلى سياق التبادل الذي تم بموجبه استلام الطلب.
[in] aStatus
مرجع إلى عنصر StatusReport يحتوي على معلومات عن حالة الطلب
المرتجعات
WEAVE_NO_ERROR بنجاح. بخلاف ذلك، سيتم عرض رسالة WEAVE_ERROR للإشارة إلى تعذُّر إرسال رسالة الرد.

ViewResponse

WEAVE_ERROR ViewResponse(
  ExchangeContext *aResponseCtx,
  StatusReport & aStatus,
  ReferencedTLVData *aDataList
)

الردّ على طلب مشاهدة

إرسال الردّ على طلب المشاهدة بعد المعالجة، باستخدام سياق التبادل المحدّد في المؤشر

التفاصيل
المَعلمات
[in] aResponseCtx
مؤشر يشير إلى سياق التبادل الذي تم بموجبه استلام الطلب.
[in] aStatus
مرجع إلى عنصر StatusReport يحتوي على معلومات عن حالة الطلب في حال نجاح هذا الإجراء، يتوقّع مقدّم الطلب قائمة بيانات تحتوي على البيانات التي تهمّه.
[in] aDataList
مؤشر يشير إلى عنصر ReferencedTLVData الاختياري الذي يحتوي على قائمة بيانات بترميز TLV تحتوي على البيانات المهمّة والمسارات التي تشير إلى تنظيم تلك البيانات. لاحظ أن هذه المعلمة يجب أن تكون فارغة (NULL) في حال عدم نجاح الحالة المقدمة في المعلمة السابقة (NULL).
قيم الإرجاع
WEAVE_NO_ERROR
عند النجاح بخلاف ذلك، يمكنك عرض رسالة WEAVE_ERROR للإشارة إلى تعذُّر إرسال رسالة الرد.
WEAVE_ERROR_INVALID_ARGUMENT
إذا كانت المعلّمات المحدّدة غير متسقة
WEAVE_ERROR_NO_MEMORY
إذا تعذر تخصيص المخزن المؤقت لـ Inet.

~DMPublisher

virtual  ~DMPublisher(
  void
)

دالة الحذف لكائنات DMPublisher.

يؤدي هذا الإجراء إلى محو كل الحالات الداخلية وإزالة المستمع من مدير التبادل في حال توفّره.