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
)

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

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

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

Init

virtual WEAVE_ERROR Init(
  WeaveExchangeManager *aExchangeMgr,
  uint32_t aResponseTimeout
)

إعداد عنصر DMPublisher.

لهذه الطريقة أثر جانبي يتمثل في تثبيت أداة معالجة في مدير التبادل للنطاق الكامل من طلبات العملاء، بما في ذلك طلبات الاشتراك.

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

Init

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 وتحتوي على البيانات التي تهمّك والمسارات التي تشير إلى كيفية توزيع هذه البيانات. تجدر الإشارة إلى أن هذه المعلمة يجب أن تكون فارغة في الحالة التي تكون فيها الحالة المحددة في المعلمة السابقة غير ناجحة.
قيم الإرجاع
WEAVE_NO_ERROR
عند النجاح. في الحالات الأخرى، يمكنك عرض WEAVE_ERROR يعكس تعذُّر إرسال رسالة الرد.
WEAVE_ERROR_INVALID_ARGUMENT
في حال كانت المعلمات المقدّمة غير متسقة
WEAVE_ERROR_NO_MEMORY
إذا تعذر تخصيص المخزن المؤقت Inet.

~DMPublisher

virtual  ~DMPublisher(
  void
)

تمثّل هذه السمة أداة المحو لكائنات DMPublisher.

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