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
)