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 )
اطلب طريقة عرض للبيانات المنشورة.
يمكنك طلب عرض البيانات المتوفرة والمدارة بواسطة ناشر بعيد محدد.
التفاصيل | |||||||||
---|---|---|---|---|---|---|---|---|---|
المعلمات |
|
||||||||
قيم الإرجاع |
|
||||||||
المرتجعات |
في الحالات الأخرى، الخطأ WEAVE_ERROR الذي يشير إلى تعذُّر إعداد العملية أو بدئها
|
ViewRequest
virtual WEAVE_ERROR ViewRequest( ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout )
طلب طريقة عرض للبيانات عن الناشر التلقائي
طلب طريقة عرض للبيانات المتوفرة والمدارة من خلال الخيار "تلقائي" الناشر، أي الناشر الأول (أو الوحيد) في جدول ربط العميل.
التفاصيل | |||||||
---|---|---|---|---|---|---|---|
المعلمات |
|
||||||
قيم الإرجاع |
|
||||||
المرتجعات |
في الحالات الأخرى، الخطأ WEAVE_ERROR الذي يشير إلى تعذُّر إعداد العملية أو بدئها
|
UpdateRequest
virtual WEAVE_ERROR UpdateRequest( const uint64_t & aDestinationId, ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout )
اطلب تعديل البيانات المنشورة.
طلب تحديث البيانات الخاضعة للإدارة من قِبل ناشر بعيد.
التفاصيل | |||||||||
---|---|---|---|---|---|---|---|---|---|
المعلمات |
|
||||||||
المرتجعات |
WEAVE_NO_ERROR في حال نجاح العملية أو WEAVE_ERROR_NO_MEMORY إذا تعذّر تخصيص معاملة تعديل. في الحالات الأخرى، يمكنك عرض WEAVE_ERROR يعكس تعذُّر التحديث.
|
UpdateRequest
virtual WEAVE_ERROR UpdateRequest( ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t 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 )
طلب إلغاء تنفيذ معاملة
لا تؤدي هذه الطريقة إلى إنشاء حركة بيانات على الشبكة، ولكنها تطلق الموارد المخصصة للمعاملات المحددة
التفاصيل | |||||
---|---|---|---|---|---|
المعلمات |
|
||||
المرتجعات |
WEAVE_NO_ERROR عند نجاح العملية أو حدوث WEAVE_ERROR بسبب تعذُّر إلغاء المعاملة.
|
محو
virtual void Clear( void )
محو الحالة الداخلية المرتبطة بعنصر DMClient
وعلى وجه الخصوص، تعمل هذه الطريقة على محو جميع مجموعات معاملات العملاء. بالنسبة إلى العملاء الذين كانوا يستخدمون الطريقة Finalize()، يُفضَّل استخدامها لأنّها تُلغي الاشتراكات أيضًا وتنظِّف جداول المعاملات والربط.
يُرجى الاطّلاع أيضًا على:Finalize()
DMClient
DMClient( void )
إكمال الإعداد
virtual void Finalize( void )
أوقِف تشغيل DMClient.
يؤدي ذلك إلى محو كل حالة التشغيل المرتبطة بالعميل وإزالة جميع الاشتراكات ذات الصلة من مُرسِل الإشعار. بعد استدعاء الدالة Finalize()، قد تتم إعادة إعداد DMClient مجددًا من خلال استدعاء Init(). يتم استدعاء الدالة Finalize() من خلال أداة حذف DMClient ولكن قد يتم استدعاؤها في حال تطلب DMClient إزالة البرامج، على سبيل المثال. في حالة انقطاع الخدمة أو الإغلاق المؤقت، وقد تحتاج إلى إعادة تشكيلها في وقت لاحق.
IncompleteIndication
virtual void IncompleteIndication( Binding *aBinding, StatusReport & aReport )
التعامل مع "حالات عدم الاكتمال" لأي ربط قيد الاستخدام من قبل العميل.
عند فشل الربط بشكل غير متوقع، على سبيل المثال: إذا كان الاتصال المتضمن في الربط مغلقًا، فيتم استدعاء هذه الطريقة.
التفاصيل | |||||
---|---|---|---|---|---|
المعلمات |
|
~DMClient
virtual ~DMClient( void )
أداة المحو لكائنات DMClient
يؤدي هذا الإجراء إلى محو جميع الحالات الداخلية وإلغاء الاشتراكات المعلّقة عند الضرورة.