nl::Weave::Profiles::DataManagement_Legacy::DMClient

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

الفئة الأساسية التجريدية لعملاء WDM الخاصة بالتطبيقات.

ملخّص

DMClient هو برنامج WDM القياسي. تشمل عملية التنفيذ الاشتراك أو الإشعار بشكل اختياري. وهو عبارة عن مزيج من فئة ProtocolEngine DM التي تعالج دوران اتصالات الرسائل، وفئة ClientDataManager التجريدية بالكامل، مع تنفيذ بعض الطرق المرتبطة بالاشتراك بحيث لا تقلق الطبقات الأعلى من ذلك.

تعمل المعالِجات للمهام المرتبطة بالاشتراك بشكل أساسي كمحوّل سطحي يزيد من عنصر ClientNotifier. يجب أن يحرص منفّذو الفئة الفرعية على استدعاء الطرق الخارقة ذات الصلة من أجل تحويل مقلب إدارة الاشتراك.

تحتوي طرق طلب DMClient بشكل عام على توقيعين، أحدهما برقم تعريف عقدة وجهة صريح والآخر بوجهة محددة. في كلتا الحالتين، تعتمد القدرة على إرسال رسالة إلى ناشر على وجود ربط موجود مسبقًا في العميل، ولكن في الحالة الأولى، يكون رقم تعريف الوجهة المقصود هو الاختيار بين وجهة متعددة مرتبطة، وفي الحالة الثانية، يتم تحديد العنصر الأول في جدول الربط كعنصر تلقائي. ويكون هذا الأمر مفيدًا، على سبيل المثال، إذا كان العميل مرتبطًا بناشر واحد فقط.

الاكتساب

يتم اكتسابه من:
  nl::Weave::Profiles::DataManagement_Legacy::ProtocolEngine
  nl::Weave::Profiles::DataManagement_Legacy::ClientDataManager

الشركات المصنّعة والمُصنّعة

DMClient(void)
الدالة الإنشائية التلقائية لكائنات DMClient
~DMClient(void)
أداة المحو لكائنات DMClient
ViewRequest(const uint64_t & aDestinationId, ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout)
virtual WEAVE_ERROR
اطلب طريقة عرض للبيانات المنشورة.
ViewRequest(ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout)
virtual WEAVE_ERROR
طلب طريقة عرض للبيانات عن الناشر التلقائي
UpdateRequest(const uint64_t & aDestinationId, ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout)
virtual WEAVE_ERROR
اطلب تعديل البيانات المنشورة.
UpdateRequest(ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout)
virtual WEAVE_ERROR
طلب تعديل بيانات الناشر التلقائي

السمات المحمية

mUpdatePool[kUpdatePoolSize]
mViewPool[kViewPoolSize]

وظائف عامة

CancelTransactionRequest(uint16_t aTxnId, WEAVE_ERROR aError)
طلب إلغاء تنفيذ معاملة
Clear(void)
virtual void
محو الحالة الداخلية المرتبطة بعنصر DMClient
Finalize(void)
virtual void
أوقِف تشغيل DMClient.
IncompleteIndication(Binding *aBinding, StatusReport & aReport)
virtual void
التعامل مع "حالات عدم الاكتمال" لأي ربط قيد الاستخدام من قبل العميل.

الدوال المحمية

NewUpdate(void)
Update *
NewView(void)
View *

ViewRequest

virtual WEAVE_ERROR ViewRequest(
  const uint64_t & aDestinationId,
  ReferencedTLVData & aPathList,
  uint16_t aTxnId,
  uint32_t aTimeout
)

اطلب طريقة عرض للبيانات المنشورة.

يمكنك طلب عرض البيانات المتوفرة والمدارة بواسطة ناشر بعيد محدد.

التفاصيل
المعلمات
[in] aDestinationId
مرجع إلى رقم تعريف العقدة 64 بت للناشر البعيد.
[in] aPathList
مرجع إلى عنصر ReferencedTLVData الذي يحتوي على قائمة مسارات بترميز TLV تشير إلى البيانات المطلوبة
[in] aTxnId
معرّف لمعاملة WDM التي تم إعدادها لإدارة عملية العرض هذه.
[in] aTimeout
الحد الأقصى للوقت بالمللي ثانية لانتظار استجابة العرض.
قيم الإرجاع
WEAVE_NO_ERROR
عند النجاح.
WEAVE_ERROR_NO_MEMORY
إذا تعذّر تخصيص معاملة
المرتجعات
في الحالات الأخرى، الخطأ WEAVE_ERROR الذي يشير إلى تعذُّر إعداد العملية أو بدئها

ViewRequest

virtual WEAVE_ERROR ViewRequest(
  ReferencedTLVData & aPathList,
  uint16_t aTxnId,
  uint32_t aTimeout
)

طلب طريقة عرض للبيانات عن الناشر التلقائي

طلب طريقة عرض للبيانات المتوفرة والمدارة من خلال الخيار "تلقائي" الناشر، أي الناشر الأول (أو الوحيد) في جدول ربط العميل.

التفاصيل
المعلمات
[in] aPathList
مرجع إلى عنصر ReferencedTLVData الذي يحتوي على قائمة مسارات بترميز TLV تشير إلى البيانات المطلوبة
[in] aTxnId
معرّف لمعاملة WDM التي تم إعدادها لإدارة عملية العرض هذه.
[in] aTimeout
الحد الأقصى للوقت بالمللي ثانية لانتظار استجابة العرض.
قيم الإرجاع
WEAVE_NO_ERROR
عند النجاح.
WEAVE_ERROR_NO_MEMORY
إذا تعذّر تخصيص معاملة
المرتجعات
في الحالات الأخرى، الخطأ WEAVE_ERROR الذي يشير إلى تعذُّر إعداد العملية أو بدئها

UpdateRequest

virtual WEAVE_ERROR UpdateRequest(
  const uint64_t & aDestinationId,
  ReferencedTLVData & aDataList,
  uint16_t aTxnId,
  uint32_t aTimeout
)

اطلب تعديل البيانات المنشورة.

طلب تحديث البيانات الخاضعة للإدارة من قِبل ناشر بعيد.

التفاصيل
المعلمات
[in] aDestinationId
مرجع إلى رقم تعريف العقدة 64 بت للناشر البعيد الذي يتم إرسال الطلب إليه.
[in] aDataList
يشير ذلك المصطلح إلى مرجع إلى عنصر ReferencedTLVData يتضمّن قائمة بيانات بترميز TLV تحتوي على تمثيل للتحديث، بما في ذلك المسارات التي سيتمّ تطبيق التحديث عليها.
[in] aTxnId
معرّف للمعاملة التي تم إعدادها لإدارة طلب التعديل
[in] aTimeout
الحد الأقصى للوقت بالمللي ثانية لانتظار تقرير الحالة ذي الصلة.
المرتجعات
WEAVE_NO_ERROR في حال نجاح العملية أو WEAVE_ERROR_NO_MEMORY إذا تعذّر تخصيص معاملة تعديل. في الحالات الأخرى، يمكنك عرض WEAVE_ERROR يعكس تعذُّر التحديث.

UpdateRequest

virtual WEAVE_ERROR UpdateRequest(
  ReferencedTLVData & aDataList,
  uint16_t aTxnId,
  uint32_t aTimeout
)

طلب تعديل بيانات الناشر التلقائي

طلب تحديث البيانات الخاضعة للإدارة من قِبل ناشر بعيد. يوجّه هذا الإصدار الطلب إلى الناشر المستهدف للربط التلقائي للعميل.

التفاصيل
المعلمات
[in] aDataList
يشير ذلك المصطلح إلى مرجع إلى عنصر ReferencedTLVData يتضمّن قائمة بيانات بترميز TLV تحتوي على تمثيل للتحديث، بما في ذلك المسارات التي سيتمّ تطبيق التحديث عليها.
[in] aTxnId
معرّف للمعاملة التي تم إعدادها لإدارة طلب التعديل
[in] aTimeout
الحد الأقصى للوقت بالمللي ثانية لانتظار تقرير الحالة ذي الصلة.
المرتجعات
WEAVE_NO_ERROR في حال نجاح العملية أو WEAVE_ERROR_NO_MEMORY إذا تعذّر تخصيص معاملة تعديل. في الحالات الأخرى، يمكنك عرض WEAVE_ERROR يعكس تعذُّر التحديث.

السمات المحمية

mUpdatePool

Update mUpdatePool[kUpdatePoolSize]

mViewPool

View mViewPool[kViewPoolSize]

وظائف عامة

CancelTransactionRequest

WEAVE_ERROR CancelTransactionRequest(
  uint16_t aTxnId,
  WEAVE_ERROR aError
)

طلب إلغاء تنفيذ معاملة

لا تؤدي هذه الطريقة إلى إنشاء حركة بيانات على الشبكة، ولكنها تطلق الموارد المخصصة للمعاملات المحددة

التفاصيل
المعلمات
[in] aTxnId
رقم المعاملة المطلوب إلغاؤها إذا تم تقديم الرمز kTransactionIdNotSpecified، سيتم إلغاء جميع المعاملات.
[in] aError
WEAVE_ERROR المطلوب الإبلاغ عنها عند إلغاء المعاملة.
المرتجعات
WEAVE_NO_ERROR عند نجاح العملية أو حدوث WEAVE_ERROR بسبب تعذُّر إلغاء المعاملة.

محو

virtual void Clear(
  void
)

محو الحالة الداخلية المرتبطة بعنصر DMClient

وعلى وجه الخصوص، تعمل هذه الطريقة على محو جميع مجموعات معاملات العملاء. بالنسبة إلى العملاء الذين كانوا يستخدمون الطريقة Finalize()، يُفضَّل استخدامها لأنّها تُلغي الاشتراكات أيضًا وتنظِّف جداول المعاملات والربط.

يُرجى الاطّلاع أيضًا على:
Finalize()

DMClient

 DMClient(
  void
)

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

يؤدي هذا الإجراء إلى محو جميع الحالات الداخلية. تتطلب عملية DMClient إعدادًا إضافيًا مع Init() قبل الاستخدام.

إكمال الإعداد

virtual void Finalize(
  void
)

أوقِف تشغيل DMClient.

يؤدي ذلك إلى محو كل حالة التشغيل المرتبطة بالعميل وإزالة جميع الاشتراكات ذات الصلة من مُرسِل الإشعار. بعد استدعاء الدالة Finalize()، قد تتم إعادة إعداد DMClient مجددًا من خلال استدعاء Init(). يتم استدعاء الدالة Finalize() من خلال أداة حذف DMClient ولكن قد يتم استدعاؤها في حال تطلب DMClient إزالة البرامج، على سبيل المثال. في حالة انقطاع الخدمة أو الإغلاق المؤقت، وقد تحتاج إلى إعادة تشكيلها في وقت لاحق.

IncompleteIndication

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

التعامل مع "حالات عدم الاكتمال" لأي ربط قيد الاستخدام من قبل العميل.

عند فشل الربط بشكل غير متوقع، على سبيل المثال: إذا كان الاتصال المتضمن في الربط مغلقًا، فيتم استدعاء هذه الطريقة.

التفاصيل
المعلمات
[in] aBinding
مؤشر يشير إلى الربط الذي أصبح غير مكتمل.
[in] aReport
مرجع إلى تقرير حالة يوضّح سبب الفشل.

~DMClient

virtual  ~DMClient(
  void
)

أداة المحو لكائنات DMClient

يؤدي هذا الإجراء إلى محو جميع الحالات الداخلية وإلغاء الاشتراكات المعلّقة عند الضرورة.

الدوال المحمية

NewUpdate

Update * NewUpdate(
  void
)

NewView

View * NewView(
  void
)