nl::Weave::Profiles::DataManagement_Legacy

تشمل مساحة الاسم هذه جميع الواجهات ضمن Weave للملف الشخصي لإدارة بيانات Weave التي سيتم إيقافها نهائيًا.

ملخّص

عمليات التعداد

@103{
  kStatus_CancelSuccess = 0x0001,
  kStatus_InvalidPath = 0x0013,
  kStatus_UnknownTopic = 0x0014,
  kStatus_IllegalReadRequest = 0x0015,
  kStatus_IllegalWriteRequest = 0x0016,
  kStatus_InvalidVersion = 0x0017,
  kStatus_UnsupportedSubscriptionMode = 0x0018
}
تعداد
@166{
  kViewPoolSize = WEAVE_CONFIG_WDM_VIEW_POOL_SIZE,
  kSubscribePoolSize = WEAVE_CONFIG_WDM_SUBSCRIBE_POOL_SIZE,
  kCancelSubscriptionPoolSize = WEAVE_CONFIG_WDM_CANCEL_SUBSCRIPTION_POOL_SIZE,
  kUpdatePoolSize = WEAVE_CONFIG_WDM_UPDATE_POOL_SIZE,
  kNotifyPoolSize = WEAVE_CONFIG_WDM_NOTIFY_POOL_SIZE,
  kTransactionTableSize = WEAVE_CONFIG_WDM_TRANSACTION_TABLE_SIZE,
  kBindingTableSize = WEAVE_CONFIG_WDM_BINDING_TABLE_SIZE,
  kNotifierTableSize = WEAVE_CONFIG_WDM_NOTIFIER_TABLE_SIZE,
  kSubscriptionMgrTableSize = WEAVE_CONFIG_WDM_SUBSCRIPTION_MGR_TABLE_SIZE
}
تعداد
أحجام الطاولات والطاولات في WDM.
@167{
  kMsgType_ViewRequest = 0x10,
  kMsgType_ViewResponse = 0x11,
  kMsgType_SubscribeRequest = 0x12,
  kMsgType_SubscribeResponse = 0x13,
  kMsgType_CancelSubscriptionRequest = 0x14,
  kMsgType_UpdateRequest = 0x15,
  kMsgType_NotifyRequest = 0x16,
  kMsgType_ViewRequest_Deprecated = 0x00,
  kMsgType_ViewResponse_Deprecated = 0x01,
  kMsgType_SubscribeRequest_Deprecated = 0x02,
  kMsgType_SubscribeResponse_Deprecated = 0x03,
  kMsgType_CancelSubscriptionRequest_Deprecated = 0x04,
  kMsgType_UpdateRequest_Deprecated = 0x05,
  kMsgType_NotifyRequest_Deprecated = 0x06
}
تعداد
أنواع رسائل الملف الشخصي عبر WDM.
@168{
  kTransactionIdNotSpecified = 0,
  kResponseTimeoutNotSpecified = 0,
  kVersionNotSpecified = 0xFFFFFFFFFFFFFFFFULL,
  kInstanceIdNotSpecified = 0,
  kDefaultBindingTableIndex = 0,
  kWeaveTLVTagLen = 8,
  kWeaveTLVControlByteLen = 1
}
تعداد
ثوابت متنوعة خاصة بـ WDM.
@169{
  kStatus_CancelSuccess = 0x0001,
  kStatus_InvalidPath = 0x0013,
  kStatus_UnknownTopic = 0x0014,
  kStatus_IllegalReadRequest = 0x0015,
  kStatus_IllegalWriteRequest = 0x0016,
  kStatus_InvalidVersion = 0x0017,
  kStatus_UnsupportedSubscriptionMode = 0x0018
}
تعداد
رموز الحالة الخاصة بـ WDM.
@170{
  kTag_WDMPathList = 100,
  kTag_WDMPathProfile = 101,
  kTag_WDMPathProfileId = 1,
  kTag_WDMPathProfileInstance = 2,
  kTag_WDMPathProfileId_Deprecated = 102,
  kTag_WDMPathProfileInstance_Deprecated = 103,
  kTag_WDMPathArrayIndexSelector = 104,
  kTag_WDMPathArrayValueSelector = 105,
  kTag_WDMDataList = 200,
  kTag_WDMDataListElementPath = 3,
  kTag_WDMDataListElementVersion = 4,
  kTag_WDMDataListElementData = 5,
  kTag_WDMDataListElementPath_Deprecated = 201,
  kTag_WDMDataListElementVersion_Deprecated = 202,
  kTag_WDMDataListElementData_Deprecated = 203
}
تعداد
علامات بروتوكول إدارة البيانات.
@171{
  kTopicIdPublisherSpecificMask = 0xFFFF000000000000ULL,
  kTopicIdNotSpecified = 0x0000000000000000ULL,
  kAnyTopicId = 0xFFFFFFFFFFFFFFFFULL
}
تعداد
معرّفات المواضيع المميزة.
WeaveTransportOption{
  kTransport_TCP = 1,
  kTransport_WRMP = 2,
  kTransport_UDP = 3
}
تعداد
خيارات نقل WDM.

تحديدات النوع

TopicIdentifier typedef
uint64_t
معرّف الموضوع.

الدوال

CheckTLVType(nl::Weave::TLV::TLVType aType, nl::Weave::TLV::TLVReader & aReader)
bool
تأكَّد من أنّ عنصر TLV الذي تتم قراءته يتضمّن النوع TLV المتوقّع.
CheckWDMTag(uint32_t aTagNum, nl::Weave::TLV::TLVReader & aReader)
bool
تحقق من علامة خاصة بـ WDM.
CloseDataListElement(nl::Weave::TLV::TLVReader & aReader)
التوقف عن قراءة عنصر قائمة بيانات WDM.
CloseList(nl::Weave::TLV::TLVReader & aReader)
التوقّف عن قراءة مسار WDM أو قائمة بياناته
EncodeDeprecatedPath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint64_t & aInstanceId, uint32_t aPathLen, ...)
يمكنك ترميز مسار WDM باستخدام علامات متوقفة ومعرّف مثيل لعدد صحيح.
EncodeDeprecatedPath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const char *aInstanceId, uint32_t aPathLen, ...)
يمكنك ترميز مسار WDM باستخدام علامات تم إيقافها ومعرّف مثيل السلسلة.
EncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint64_t & aInstanceId, uint32_t aPathLen, ...)
ترميز مسار WDM باستخدام معرّف مثيل ملف شخصي صحيح.
EncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint32_t aInstanceIdLen, const uint8_t *aInstanceId, uint32_t aPathLen, ...)
ترميز مسار WDM باستخدام رقم تعريف مثيل مصفوفة بايت.
EncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const char *aInstanceId, uint32_t aPathLen, ...)
ترميز مسار WDM باستخدام رقم تعريف مثيل السلسلة
EndDataListElement(nl::Weave::TLV::TLVWriter & aWriter)
أنهِ كتابة عنصر قائمة بيانات.
EndEncodePath(TLVWriter & aWriter, TLVType & mOuterContainer, WEAVE_ERROR mError)
EndList(nl::Weave::TLV::TLVWriter & aWriter)
انتهِ من كتابة قائمة مسارات أو قائمة بيانات.
EndList(ReferencedTLVData & aList, nl::Weave::TLV::TLVWriter & aWriter)
انتهِ من كتابة قائمة مسارات أو قائمة بيانات.
IsPublisherSpecific(const TopicIdentifier & aTopicId)
bool
تحقق مما إذا كان رقم تعريف الموضوع خاصًا بالناشر.
OpenDataList(ReferencedTLVData & aDataList, nl::Weave::TLV::TLVReader & aReader)
ابدأ بقراءة قائمة البيانات.
OpenDataListElement(nl::Weave::TLV::TLVReader & aReader, nl::Weave::TLV::TLVReader & aPathReader, uint64_t & aVersion)
ابدأ قراءة عنصر قائمة بيانات.
OpenPathList(ReferencedTLVData & aPathList, nl::Weave::TLV::TLVReader & aReader)
ابدأ بقراءة قائمة المسارات.
PublisherSpecificTopicId(void)
أنشِئ رقم تعريف لموضوع خاص بالناشر من البداية.
SendStatusReport(ExchangeContext *aExchangeCtx, StatusReport & aStatus)
StartDataList(nl::Weave::TLV::TLVWriter & aWriter)
ابدأ في كتابة قائمة بيانات.
StartDataList(ReferencedTLVData & aDataList, nl::Weave::TLV::TLVWriter & aWriter)
ابدأ في كتابة قائمة بيانات لعنصر ReferencedTLVData محدَّد.
StartDataListElement(nl::Weave::TLV::TLVWriter & aWriter)
ابدأ في كتابة عنصر قائمة بيانات.
StartEncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, TLVType & mOuterContainer, TLVType & mPath)
StartPathList(nl::Weave::TLV::TLVWriter & aWriter)
ابدأ في كتابة قائمة مسارات.
TxnResponseHandler(ExchangeContext *anExchangeCtx, const IPPacketInfo *anAddrInfo, const WeaveMessageInfo *aMsgInfo, uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aMsg)
void
TxnTimeoutHandler(ExchangeContext *anExchangeCtx)
void
ValidateTLVType(nl::Weave::TLV::TLVType aType, nl::Weave::TLV::TLVReader & aReader)
تحقَّق من أنّ عنصر TLV الذي تتم قراءته يتضمّن النوع TLV المتوقّع.
ValidateWDMTag(uint32_t aTagNum, nl::Weave::TLV::TLVReader & aReader)
تحقَّق من أنّ عنصر TLV الذي تتم قراءته يحتوي على علامة WDM المتوقّعة.

صفوف

nl::Weave::Profiles::DataManagement_Legacy::Binding

تدير الفئة الربط حالة الاتصالات نيابةً عن كيان التطبيق باستخدام Weave.

nl::Weave::Profiles::DataManagement_Legacy::ClientDataManager

فئة مجردة تحتوي على تعريفات لطرق التأكيد والإشارات التي يطلبها عميل WDM.

nl::Weave::Profiles::DataManagement_Legacy::ClientNotifier

فئة إضافية يتم استخدامها عند الحاجة إلى دعم الاشتراك والإشعارات على عميل WDM.

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

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

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

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

nl::Weave::Profiles::DataManagement_Legacy::ProfileDatabase

الفئة الإضافية المجرّدة ProfileDatabase.

nl::Weave::Profiles::DataManagement_Legacy::ProtocolEngine

فئة محرك بروتوكول WDM.

nl::Weave::Profiles::DataManagement_Legacy::PublisherDataManager

فئة مجردة تحتوي على تعريفات لطرق التأكيد والإشعار التي يطلبها ناشر WDM.

عمليات التعداد

@103

 @103
أماكن إقامة
kStatus_CancelSuccess

يشير رمز الحالة القديم هذا إلى أنّه تم إلغاء الاشتراك بنجاح.

يشير رمز الحالة هذا إلى أنّه تم إلغاء الاشتراك بنجاح.

kStatus_IllegalReadRequest

يعني رمز الحالة القديم هذا أنّ العقدة التي ترسل طلبًا لقراءة عنصر بيانات معيّن ليس لديها إذن بذلك.

يعني رمز الحالة هذا أن العقدة التي تقدم طلبًا لقراءة عنصر بيانات معين ليس لديها إذن للقيام بذلك.

kStatus_IllegalWriteRequest

يعني رمز الحالة القديم هذا أنّ العقدة التي ترسل طلبًا لكتابة عنصر بيانات معيّن ليس لديها إذن بذلك.

يعني رمز الحالة هذا أن العقدة التي تقدم طلبًا لكتابة عنصر بيانات معين ليس لديها إذن بذلك.

kStatus_InvalidPath

يعني رمز الحالة القديم هذا أنّ المسار من قائمة المسارات للعرض أو إطار طلب التعديل لم يتطابق مع مخطط المقيمين في العقدة للمجيب.

يعني رمز الحالة هذا أن المسار من قائمة مسارات العرض أو إطار طلب التعديل لم يتطابق مع مخطط المقيمين في العقدة للمجيب.

kStatus_InvalidVersion

ويعني رمز الحالة القديم هذا أنّ نسخة البيانات المضمّنة في طلب التحديث لم تتطابق مع أحدث نسخة لدى الناشر، وبالتالي تعذّر تطبيق التحديث.

يعني رمز الحالة هذا أنّ نسخة البيانات المضمّنة في طلب التحديث لم تتطابق مع أحدث نسخة لدى الناشر، وبالتالي تعذّر تطبيق التحديث.

kStatus_UnknownTopic

ويعني رمز الحالة القديم هذا أنّ معرّف الموضوع المقدَّم في طلب الإلغاء أو الإشعار لم يتطابق مع أي اشتراك متبقٍّ في عُقدة الاستلام.

يعني رمز الحالة هذا أنّ معرّف الموضوع الذي تم تقديمه في طلب الإلغاء أو الإشعار لم يتطابق مع أي اشتراك متبقٍّ في عُقدة الاستلام.

kStatus_UnsupportedSubscriptionMode

يعني رمز الحالة القديم هذا أن وضع الاشتراك المطلوب غير متوافق مع الجهاز المستقبِل.

يعني رمز الحالة هذا أنّ وضع الاشتراك المطلوب غير متوافق مع الجهاز المستلِم.

@166

 @166

أحجام الطاولات والطاولات في WDM.

تحدد WDM العديد من المسابح والجداول اللازمة لتشغيلها، على النحو التالي.

مجموعات معاملات العملاء:

  • kViewPoolSize
  • kSubscribePoolSize
  • kCancelSubscriptionPoolSize
  • kUpdatePoolSize

مجموعات معاملات الناشر:

  • kNotifyPoolSize

جداول محركات البروتوكول:

  • kTransactionTableSize
  • kBindingTableSize

الجداول ذات الصلة بالاشتراكات:

  • kNotifierTableSize (العميل فقط)
  • kSUBSCRIPTIONMgrTableSize (الناشر فقط)

يُرجى العلم أنّ هذه الكميات قابلة للضبط وأنّ القيم الخاصة بكل منصة تظهر في ملف WeaveConfig.h المرتبط.

أماكن إقامة
kBindingTableSize

هذا هو الحجم التلقائي لجدول الربط في محرّك بروتوكول WDM.

يمكن تهيئة هذه القيمة من خلال WEAVE_CONFIG_WDM_BINDING_TABLE_SIZE.

kCancelSubscriptionPoolSize

هذا هو الحجم التلقائي لتجميع معاملات إلغاء الاشتراك لعميل WDM.

يمكن ضبط هذه القيمة من خلال WEAVE_CONFIG_WDM_CANCEL_SUBSCRIPTION_POOL_SIZE.

kNotifierTableSize

هذا هو الحجم التلقائي لجدول الإشعارات لعملاء WDM.

يمكن ضبط هذه القيمة من خلال WEAVE_CONFIG_WDM_NOTIFIER_TABLE_SIZE.

kNotifyPoolSize

هذا هو الحجم التلقائي لمجموعة معاملات طلبات الإشعارات لناشر WDM.

يمكن ضبط هذه القيمة من خلال WEAVE_CONFIG_WDM_NOTIFY_POOL_SIZE.

kSubscribePoolSize

هذا هو الحجم التلقائي لتجميع معاملات طلبات الاشتراك لعميل WDM.

يمكن ضبط هذه القيمة عبر WEAVE_CONFIG_WDM_SUBSCRIBE_POOL_SIZE.

kSubscriptionMgrTableSize

هذا هو الحجم التلقائي لجدول الاشتراك لناشري WDM.

يمكن ضبط هذه القيمة من خلال WEAVE_CONFIG_WDM_SUBSCRIPTION_MGR_TABLE_SIZE.

kTransactionTableSize

هذا هو الحجم الافتراضي لجدول المعاملات في محرك بروتوكول WDM.

يمكن ضبط هذه القيمة من خلال WEAVE_CONFIG_WDM_TRANSACTION_TABLE_SIZE.

kUpdatePoolSize

هذا هو الحجم التلقائي لتجميع معاملات طلبات التحديث لعميل WDM.

يمكن ضبط هذه القيمة من خلال WEAVE_CONFIG_WDM_UPDATE_POOL_SIZE.

kViewPoolSize

هذا هو الحجم التلقائي لمجموعة معاملات طلبات العرض لعميل WDM.

يمكن ضبط هذه القيمة من خلال WEAVE_CONFIG_WDM_VIEW_POOL_SIZE.

@167

 @167

أنواع رسائل الملف الشخصي عبر WDM.

يتم استدعاء هذه القيم في مواصفات إدارة البيانات.

ملاحظة: واعتبارًا من الربع الأول من عام 2015، تم إيقاف أنواع الرسائل المستخدمة في الإصدارات السابقة من WDM وتم تحديد أنواع جديدة من الرسائل، ما يشير إلى تغيّر كافٍ في تفاصيل الحِزم والتحليل السابقة لتبرير فاصل إعلاني سليم.

أماكن إقامة
kMsgType_CancelSubscriptionRequest

رسالة إلغاء طلب الاشتراك

kMsgType_CancelSubscriptionRequest_Deprecated

متوقفة نهائيًا

kMsgType_NotifyRequest

رسالة طلب الإشعار.

kMsgType_NotifyRequest_Deprecated

متوقفة نهائيًا

kMsgType_SubscribeRequest

رسالة طلب اشتراك

kMsgType_SubscribeRequest_Deprecated

متوقفة نهائيًا

kMsgType_SubscribeResponse

رسالة الرد على "الاشتراك"

kMsgType_SubscribeResponse_Deprecated

متوقفة نهائيًا

kMsgType_UpdateRequest

تعديل رسالة الطلب

kMsgType_UpdateRequest_Deprecated

متوقفة نهائيًا

kMsgType_ViewRequest

عرض رسالة الطلب

kMsgType_ViewRequest_Deprecated

متوقفة نهائيًا

kMsgType_ViewResponse

عرض رسالة الرد

kMsgType_ViewResponse_Deprecated

متوقفة نهائيًا

@168

 @168

ثوابت متنوعة خاصة بـ WDM.

أماكن إقامة
kDefaultBindingTableIndex

فهرس الربط التلقائي في جدول ربط محرك البروتوكول مع أكثر من إدخال واحد.

kInstanceIdNotSpecified

في المكالمات التي تتطلب مواصفات ملف التعريف الشخصي، تشير إلى "لا شيء".

ويعني ذلك في أغلب الأحيان عدم توفّر سوى مثيل واحد من الملف الشخصي في الكيان المعنيّ.

kResponseTimeoutNotSpecified

في طرق طلب المعاملة، يشير ذلك إلى أن المتصل رفض تحديد المهلة.

ويعني ذلك عمومًا أنّه يجب استخدام خيار تلقائي.

kTransactionIdNotSpecified

في الطرق وبنى البيانات التي تأخذ معرِّف المعاملة، تشير إلى "لا شيء" أو إلى قيمة حرف بدل.

kVersionNotSpecified

في المكالمات التي تتطلب تحديد إصدار بيانات، تشير إلى "لا يوجد إصدار معين".

kWeaveTLVControlByteLen

طول بايت التحكم TLV، يُستخدم في طرق الدعم لترميز بُنى WDM باللغة TLV.

kWeaveTLVTagLen

يشير هذا المصطلح إلى الطول العادي بالبايت لعلامة TLV مؤهّلة بالكامل ويُستخدَم في طرق الدعم لترميز بُنى WDM باللغة TLV.

@169

 @169

رموز الحالة الخاصة بـ WDM.

أماكن إقامة
kStatus_CancelSuccess

يشير رمز الحالة القديم هذا إلى أنّه تم إلغاء الاشتراك بنجاح.

يشير رمز الحالة هذا إلى أنّه تم إلغاء الاشتراك بنجاح.

kStatus_IllegalReadRequest

يعني رمز الحالة القديم هذا أنّ العقدة التي ترسل طلبًا لقراءة عنصر بيانات معيّن ليس لديها إذن بذلك.

يعني رمز الحالة هذا أن العقدة التي تقدم طلبًا لقراءة عنصر بيانات معين ليس لديها إذن للقيام بذلك.

kStatus_IllegalWriteRequest

يعني رمز الحالة القديم هذا أنّ العقدة التي ترسل طلبًا لكتابة عنصر بيانات معيّن ليس لديها إذن بذلك.

يعني رمز الحالة هذا أن العقدة التي تقدم طلبًا لكتابة عنصر بيانات معين ليس لديها إذن بذلك.

kStatus_InvalidPath

يعني رمز الحالة القديم هذا أنّ المسار من قائمة المسارات للعرض أو إطار طلب التعديل لم يتطابق مع مخطط المقيمين في العقدة للمجيب.

يعني رمز الحالة هذا أن المسار من قائمة مسارات العرض أو إطار طلب التعديل لم يتطابق مع مخطط المقيمين في العقدة للمجيب.

kStatus_InvalidVersion

ويعني رمز الحالة القديم هذا أنّ نسخة البيانات المضمّنة في طلب التحديث لم تتطابق مع أحدث نسخة لدى الناشر، وبالتالي تعذّر تطبيق التحديث.

يعني رمز الحالة هذا أنّ نسخة البيانات المضمّنة في طلب التحديث لم تتطابق مع أحدث نسخة لدى الناشر، وبالتالي تعذّر تطبيق التحديث.

kStatus_UnknownTopic

ويعني رمز الحالة القديم هذا أنّ معرّف الموضوع المقدَّم في طلب الإلغاء أو الإشعار لم يتطابق مع أي اشتراك متبقٍّ في عُقدة الاستلام.

يعني رمز الحالة هذا أنّ معرّف الموضوع الذي تم تقديمه في طلب الإلغاء أو الإشعار لم يتطابق مع أي اشتراك متبقٍّ في عُقدة الاستلام.

kStatus_UnsupportedSubscriptionMode

يعني رمز الحالة القديم هذا أن وضع الاشتراك المطلوب غير متوافق مع الجهاز المستقبِل.

يعني رمز الحالة هذا أنّ وضع الاشتراك المطلوب غير متوافق مع الجهاز المستلِم.

@170

 @170

علامات بروتوكول إدارة البيانات.

يحدِّد بروتوكول إدارة البيانات عددًا من العلامات التي سيتم استخدامها في تمثيل TLV لبيانات الملف الشخصي.

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

لم يتم استخدام علامة kTag_WDMDataListElementData في الإصدارات السابقة، وتم تجاهلها تمامًا من خلال الرمز، لذا لا يتعين علينا توفير إصدار متوقف.

أماكن إقامة
kTag_WDMDataList

العنصر عبارة عن قائمة من الهياكل التي تحتوي على المسار والإصدار الاختياري وعناصر البيانات.

نوع العلامة: نوع العنصر الخاص بالملف الشخصي: ترتيب المصفوفة: المستوى الأعلى

kTag_WDMDataListElementData

يمثل العنصر البيانات المشار إليها من خلال مسار معين والحصول على النسخة المعنية.

نوع العلامة: نوع العنصر الخاص بالسياق: أي ترتيب: مطلوب

kTag_WDMDataListElementData_Deprecated

تمّ الإيقاف.

نوع العلامة: نوع العنصر الخاص بالسياق: أي ترتيب: مطلوب

kTag_WDMDataListElementPath

العنصر هو مكون المسار لعنصر قائمة بيانات.

نوع العلامة: نوع العنصر الخاص بالسياق: ترتيب المسار: مطلوب

kTag_WDMDataListElementPath_Deprecated

تمّ الإيقاف.

نوع العلامة: نوع العنصر الخاص بالملف الشخصي: ترتيب المسار: مطلوب

kTag_WDMDataListElementVersion

العنصر هو مكون الإصدار لعنصر قائمة البيانات.

نوع العلامة: نوع العنصر الخاص بالسياق: الترتيب الصحيح: مطلوب

kTag_WDMDataListElementVersion_Deprecated

تمّ الإيقاف.

نوع العلامة: نوع العنصر الخاص بالملف الشخصي: الترتيب الصحيح: مطلوب

kTag_WDMPathArrayIndexSelector

يتجاوب عنصر المسار مع صفيف في المخطط ويُستخدم عنصر العدد الصحيح المتضمن كفهرس في هذا الصفيف.

نوع العلامة: نوع العنصر الخاص بالملف الشخصي: الترتيب الصحيح: اختياري

kTag_WDMPathArrayValueSelector

يتجاوب عنصر المسار مع صفيف في المخطط ويُستخدم العنصر المغلّف كمحدد سجلات.

نوع العلامة: نوع العنصر الخاص بالملف الشخصي: تنظيم البنية: اختياري

kTag_WDMPathList

والعنصر هو قائمة بمسارات TLV.

نوع العلامة: نوع العنصر الخاص بالملف الشخصي: ترتيب المصفوفة: المستوى الأعلى

kTag_WDMPathProfile

العنصر عبارة عن بنية تُستخدم لبدء مسار ويحتوي على معلومات الملف الشخصي التي سيتم في ضوءها تفسير العلامات الموجودة في المسار.

نوع العلامة: نوع العنصر الخاص بالملف الشخصي: تنظيم البنية: مطلوب

kTag_WDMPathProfileId

هذا العنصر هو مكوّن معرّف الملف الشخصي لعنصر الملف الشخصي للمسار الذي يبدأ مسار TLV.

نوع العلامة: نوع العنصر الخاص بالسياق: الترتيب الصحيح: مطلوب

kTag_WDMPathProfileId_Deprecated

تمّ الإيقاف.

نوع العلامة: نوع العنصر الخاص بالملف الشخصي: الترتيب الصحيح: مطلوب

kTag_WDMPathProfileInstance

العنصر هو مثيل ملف شخصي، قد يتبع رقم تعريف الملف الشخصي في مسار TLV.

يُرجى العلم أنّ العقدة قد تحتوي أو لا تحتوي على مثيلات متعددة لملف شخصي معيّن، وفي حال وجود ملف شخصي واحد فقط، قد يتم حذف هذا العنصر.

نوع العلامة: نوع العنصر الخاص بالسياق: أي ترتيب: اختياري

kTag_WDMPathProfileInstance_Deprecated

تمّ الإيقاف.

نوع العلامة: نوع العنصر الخاص بالملف الشخصي: أي ترتيب: اختياري

@171

 @171

معرّفات المواضيع المميزة.

هناك ثلاثة معرّفات مواضيع مختلفة تهمّك، وقد تم تنسيقها جميعًا على أنّها "خاصة بالناشر".

أماكن إقامة
kAnyTopicId

هذا الخيار محجوز كرقم تعريف موضوع بأحرف بدلة.

kTopicIdNotSpecified

هذه قيمة خاصة محجوزة للتعبير عن رقم تعريف موضوع غير صالح أو حرف بدل.

kTopicIdPublisherSpecificMask

يُستخدم كقناع لإنشاء معرف Topci أو تحليله.

WeaveTransportOption

 WeaveTransportOption

خيارات نقل WDM.

هذه هي خيارات نقل حصرية لخدمات WDM.

أماكن إقامة
kTransport_TCP

النقل الأساسي هو بروتوكول التحكم بالنقل.

يمكن إتمام الربط إما باستخدام مدير الخدمة أو باستخدام طبقة الرسالة مباشرةً.

kTransport_UDP

طبقة النقل الأساسية هي بروتوكول UDP فقط.

kTransport_WRMP

النقل الأساسي هو بروتوكول UDP فقط ولكن مع تحسينات موثوقية "طبقة دعم التطبيق".

تحديدات النوع

TopicIdentifier

uint64_t TopicIdentifier

معرّف الموضوع.

معرّفات المواضيع هي كميات 64 بت ذات استخدامين/دلالة مرتبطة. أولاً، يمكن استخدامها كاختصار تقليدي لمجموعة معروفة من المسارات، على سبيل المثال " جهاز كشف الدخان من Nest". تحتوي معرّفات المواضيع التي يتم استخدامها بهذه الطريقة، مثل معرّفات الملفات الشخصية، على رمز مورِّد يمنع تعارض معرّفات المواضيع التي يختارها المورّدون المختلفون بشكل مستقل، كما يلي:

البت 48 - 63 البت 0 - 47
رقم تعريف المورّد رقم الموضوع
ينشأ الاستخدام/الدلالات الثانية لمعرفات المواضيع في حالة الاشتراك الديناميكي بين عميل WDM والناشر. في هذه الحالة، يوفر الناشر دائمًا معرف موضوع فريد يرمز إلى الاشتراك المحدد، ويجب أن يفعل ذلك سواء تم طلب الاشتراك باستخدام معرف موضوع معروف أو قائمة مسارات عشوائية. ويتم تمييز معرفات المواضيع من هذا النموذج عن طريق وجود رمز مورّد FF.

يمكنك الاطّلاع أيضًا على:
WeaveVendorIdentifiers.hpp

الدوال

CheckTLVType

bool CheckTLVType(
  nl::Weave::TLV::TLVType aType,
  nl::Weave::TLV::TLVReader & aReader
)

تأكَّد من أنّ عنصر TLV الذي تتم قراءته يتضمّن النوع TLV المتوقّع.

تحقَّق من نوع TLV محدَّد مقابل نوع العنصر في أعلى قارئ TLV.

التفاصيل
المَعلمات
[in] aType
TLVType المراد التحقق منها مقابل عنصر معين
[in] aReader
مرجع إلى قارئ TLV موضوع في العنصر المطلوب وضع علامة فيه
المرتجعات
true إذا تطابق TLVType للعنصر وaType.
راجِع أيضًا:
WeaveTLVTypes.h

CheckWDMTag

bool CheckWDMTag(
  uint32_t aTagNum,
  nl::Weave::TLV::TLVReader & aReader
)

تحقق من علامة خاصة بـ WDM.

تحقّق من عدد علامة خاصة بـ WDM، من .../data-management/DMConstants.h، مقابل العلامة الفعلية التي تظهر في رأس قارئ TLV.

التفاصيل
المَعلمات
[in] aTagNum
رقم العلامة المطلوب التحقّق منها مقابل عنصر TLV محدّد.
[in] aReader
مرجع إلى قارئ TLV يشير إلى العنصر المطلوب وضع علامة فيه.
المرتجعات
ينتج عن true iff aReader.GetTag() علامة تتطابق مع أحد نماذج العلامات المتوقعة لرقم العلامة المحدد.

CloseDataListElement

WEAVE_ERROR CloseDataListElement(
  nl::Weave::TLV::TLVReader & aReader
)

التوقف عن قراءة عنصر قائمة بيانات WDM.

تفترض هذه الطريقة أن العنصر المعني هو جزء من قائمة بيانات WDM وبالتالي تمرر kTLVType_Array إلى ExitContainer().

التفاصيل
المَعلمات
[in,out] aReader
قارئ TLV تم وضعه في عنصر قائمة بيانات WDM.
المرتجعات
WEAVE_NO_ERROR بنجاح. وبخلاف ذلك، سيتم عرض خطأ WEAVE_ERROR يشير إلى عدم القدرة على الخروج من الحاوية.

CloseList

WEAVE_ERROR CloseList(
  nl::Weave::TLV::TLVReader & aReader
)

التوقّف عن قراءة مسار WDM أو قائمة بياناته

تفترض هذه الطريقة أنّ القائمة المعنيّة هي أعلى عنصر TLV وبالتالي يتم تمرير kTLVType_Sructure إلى ExitContainer().

التفاصيل
المَعلمات
[in,out] aReader
قارئ TLV يتم وضعه في مسار WDM أو قائمة بيانات.
المرتجعات
WEAVE_NO_ERROR بنجاح. وبخلاف ذلك، سيتم عرض خطأ WEAVE_ERROR يشير إلى عدم القدرة على الخروج من الحاوية.

EncodeDeprecatedPath

WEAVE_ERROR EncodeDeprecatedPath(
  TLVWriter & aWriter,
  const uint64_t & aTag,
  uint32_t aProfileId,
  const uint64_t & aInstanceId,
  uint32_t aPathLen,
  ...
)

يمكنك ترميز مسار WDM باستخدام علامات متوقفة ومعرّف مثيل لعدد صحيح.

ملاحظة: يمكنك ترميز مسار باستخدام مجموعة العلامات التي تم إيقافها نهائيًا والمقبولة من الخدمة قبل إصدار Weave 2.0. تأخذ هذه النسخة من الطريقة معرِّف المثيل الرقمي. تبدأ هذه الطريقة حاوية باستخدام ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfile)، ثم تُدرج رقم تعريف الملف الشخصي باستخدام ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileId_pause). ثم يُدرِج رقم تعريف المثيل باستخدام ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileInstance_Based). هذا هو أحد الإصدارات المتوقفة لتشفير المسار، وستتجنب التصميمات الجديدة استخدام هذا التنسيق.

التفاصيل
المَعلمات
[in] aWriter
يشير إلى كاتب TLV الذي تم استخدامه لكتابة المسار.
[in] aTag
مرجع إلى علامة TLV المؤهَّلة بالكامل والتي تنطبق على هذا المسار.
[in] aProfileId
رقم تعريف الملف الشخصي الذي سيتم تفسير عناصر المسار ضمنه.
[in] aInstanceId
مرجع إلى معرِّف المثيل الاختياري للملف الشخصي المراد استخدامه.
[in] aPathLen
طول قائمة عناصر المسار، وربما 0، خارج محدد الملف الشخصي الأولي.
[in] ...
القائمة الاختيارية ذات الطول المتغير لعلامات المسارات الإضافية.
المرتجعات
WEAVE_NO_ERROR بنجاح. وبخلاف ذلك، سيتم عرض خطأ WEAVE_ERROR يعكس عدم القدرة على تنسيق المسار المحدد.

EncodeDeprecatedPath

WEAVE_ERROR EncodeDeprecatedPath(
  TLVWriter & aWriter,
  const uint64_t & aTag,
  uint32_t aProfileId,
  const char *aInstanceId,
  uint32_t aPathLen,
  ...
)

يمكنك ترميز مسار WDM باستخدام علامات تم إيقافها ومعرّف مثيل السلسلة.

ملاحظة: يمكنك ترميز مسار باستخدام مجموعة العلامات التي تم إيقافها نهائيًا (راجِع DMConstants.h). يستخدم هذا الإصدار من الطريقة سلسلة رقم تعريف المثيل. تبدأ هذه الطريقة حاوية باستخدام ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfile)، ثم تُدرج رقم تعريف الملف الشخصي باستخدام ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileId_pause). ثم يُدرِج رقم تعريف المثيل باستخدام ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileInstance_Based). هذا هو أحد الإصدارات المتوقفة لتشفير المسار، وستتجنب التصميمات الجديدة استخدام هذا التنسيق.

التفاصيل
المَعلمات
[in] aWriter
يشير إلى كاتب TLV الذي تم استخدامه لكتابة المسار.
[in] aTag
مرجع إلى علامة TLV المؤهَّلة بالكامل والتي تنطبق على هذا المسار.
[in] aProfileId
رقم تعريف الملف الشخصي الذي سيتم تفسير عناصر المسار ضمنه.
[in] aInstanceId
السلسلة الاختيارية المستخدَمة كمعرّف مثيل للملف الشخصي. قد تكون هذه الوسيطة فارغة (NULL) إذا لم يتم تحديد معرّف للمثيل.
[in] aPathLen
طول قائمة عناصر المسار، وربما 0، خارج محدد الملف الشخصي الأولي.
[in] ...
القائمة الاختيارية ذات الطول المتغير لعلامات المسارات الإضافية.
المرتجعات
WEAVE_NO_ERROR بنجاح. وبخلاف ذلك، سيتم عرض خطأ WEAVE_ERROR يعكس عدم القدرة على تنسيق المسار المحدد.

EncodePath

WEAVE_ERROR EncodePath(
  TLVWriter & aWriter,
  const uint64_t & aTag,
  uint32_t aProfileId,
  const uint64_t & aInstanceId,
  uint32_t aPathLen,
  ...
)

ترميز مسار WDM باستخدام معرّف مثيل ملف شخصي صحيح.

ملاحظة:اكتب مسار TLV من النوع المستخدَم في إدارة البيانات، حيث يتوفّر، على وجه الخصوص، تصنيف الملف الشخصي في البداية للسماح بتفسير عناصر المسار اللاحقة. يستخدم هذا الإصدار من الطريقة معرّفًا لمثيل الملف الشخصي بعدد صحيح.

تُدرِج هذه الطريقة رقم تعريف المثيل باستخدام ContextTag(kTag_WDMPathProfileInstance)، وهو أحدث إصدار لتشفير المسار.

التفاصيل
المَعلمات
[in] aWriter
يشير إلى كاتب TLV الذي تم استخدامه لكتابة المسار.
[in] aTag
مرجع إلى علامة TLV المؤهَّلة بالكامل والتي تنطبق على هذا المسار.
[in] aProfileId
رقم تعريف الملف الشخصي الذي سيتم تفسير عناصر المسار ضمنه.
[in] aInstanceId
مرجع إلى معرِّف المثيل الاختياري للملف الشخصي المراد استخدامه. إذا لم يتم استخدام أي رقم تعريف للمثيل، يجب أن تحتوي هذه المَعلمة على القيمة kInstanceIdNotSpecified.
[in] aPathLen
طول قائمة عناصر المسار، وربما 0، خارج محدد الملف الشخصي الأولي.
[in] ...
القائمة الاختيارية ذات الطول المتغير لعلامات المسارات الإضافية.
المرتجعات
WEAVE_NO_ERROR بنجاح. وبخلاف ذلك، سيتم عرض خطأ WEAVE_ERROR يعكس عدم القدرة على تنسيق المسار المحدد.

EncodePath

WEAVE_ERROR EncodePath(
  TLVWriter & aWriter,
  const uint64_t & aTag,
  uint32_t aProfileId,
  const uint32_t aInstanceIdLen,
  const uint8_t *aInstanceId,
  uint32_t aPathLen,
  ...
)

ترميز مسار WDM باستخدام رقم تعريف مثيل مصفوفة بايت.

ملاحظة:اكتب مسار TLV من النوع المستخدَم في إدارة البيانات، حيث يتوفّر، على وجه الخصوص، تصنيف الملف الشخصي في البداية للسماح بتفسير عناصر المسار اللاحقة. تأخذ هذه النسخة من الطريقة معرّف مثيل ملف تعريف مصفوفة البايت مع الطول.

تُدرِج هذه الطريقة رقم تعريف المثيل باستخدام ContextTag(kTag_WDMPathProfileInstance)، وهو أحدث إصدار لتشفير المسار.

التفاصيل
المَعلمات
[in] aWriter
يشير إلى كاتب TLV الذي تم استخدامه لكتابة المسار.
[in] aTag
مرجع إلى علامة TLV المؤهَّلة بالكامل والتي تنطبق على هذا المسار.
[in] aProfileId
رقم تعريف الملف الشخصي الذي سيتم من خلاله تفسير عناصر المسار.
[in] aInstanceIdLen
طول مصفوفة البايت التي تشكِّل رقم تعريف المثيل. إذا لم يكن هناك معرف، فيجب أن تكون قيمة هذه المعلمة 0.
[in] aInstanceId
مصفوفة البايت الاختيارية المستخدمة كمعرّف نسخة افتراضية للملف الشخصي. قد تكون هذه الوسيطة فارغة في حال عدم تحديد أي معرّف مثيل.
[in] aPathLen
طول قائمة عناصر المسار، وربما 0، خارج محدد الملف الشخصي الأولي.
[in] ...
القائمة الاختيارية ذات الطول المتغير لعلامات المسارات الإضافية.
المرتجعات
WEAVE_NO_ERROR بنجاح. وبخلاف ذلك، سيتم عرض خطأ WEAVE_ERROR يعكس عدم القدرة على تنسيق المسار المحدد.

EncodePath

WEAVE_ERROR EncodePath(
  TLVWriter & aWriter,
  const uint64_t & aTag,
  uint32_t aProfileId,
  const char *aInstanceId,
  uint32_t aPathLen,
  ...
)

ترميز مسار WDM باستخدام رقم تعريف مثيل السلسلة

ملاحظة:اكتب مسار TLV من النوع المستخدَم في إدارة البيانات، حيث يتوفّر، على وجه الخصوص، تصنيف الملف الشخصي في البداية للسماح بتفسير عناصر المسار اللاحقة. يستخدم هذا الإصدار من الطريقة رقم تعريف مثيل الملف الشخصي للسلسلة.

تُدرِج هذه الطريقة رقم تعريف المثيل باستخدام ContextTag(kTag_WDMPathProfileInstance)، وهو أحدث إصدار لتشفير المسار.

التفاصيل
المَعلمات
[in] aWriter
يشير إلى كاتب TLV الذي تم استخدامه لكتابة المسار.
[in] aTag
مرجع إلى علامة TLV المؤهَّلة بالكامل والتي تنطبق على هذا المسار.
[in] aProfileId
رقم تعريف الملف الشخصي الذي سيتم تفسير عناصر المسار ضمنه.
[in] aInstanceId
السلسلة الاختيارية المستخدَمة كمعرّف مثيل للملف الشخصي. قد تكون هذه الوسيطة فارغة (NULL) إذا لم يتم تحديد معرّف للمثيل.
[in] aPathLen
طول قائمة عناصر المسار، وربما 0، خارج محدد الملف الشخصي الأولي.
[in] ...
القائمة الاختيارية ذات الطول المتغير لعلامات المسارات الإضافية.
المرتجعات
WEAVE_NO_ERROR بنجاح. وبخلاف ذلك، سيتم عرض خطأ WEAVE_ERROR يعكس عدم القدرة على تنسيق المسار المحدد.

EndDataListElement

WEAVE_ERROR EndDataListElement(
  nl::Weave::TLV::TLVWriter & aWriter
)

أنهِ كتابة عنصر قائمة بيانات.

اكتب TLV لنهاية عنصر قائمة بيانات WDM. تجدر الإشارة إلى أنّ هذا الأمر ينتقل تلقائيًا من نوع kTLVType_Array إلى استدعاء EndContainer() على افتراض أنّنا نغلق دائمًا عنصر قائمة.

التفاصيل
المَعلمات
[in] aWriter
تمثّل هذه السمة مرجعًا لكاتب TLV يمكن استخدامه لكتابة نهاية العنصر.
المرتجعات
WEAVE_NO_ERROR بنجاح. وبخلاف ذلك، سيتم عرض خطأ WEAVE_ERROR يشير إلى عدم القدرة على إنهاء حاوية.

EndEncodePath

WEAVE_ERROR EndEncodePath(
  TLVWriter & aWriter,
  TLVType & mOuterContainer,
  WEAVE_ERROR mError
)

EndList

WEAVE_ERROR EndList(
  nl::Weave::TLV::TLVWriter & aWriter
)

انتهِ من كتابة قائمة مسارات أو قائمة بيانات.

اكتب TLV لنهاية مسار WDM أو قائمة البيانات. أيضًا، ضع اللمسات الأخيرة على الكاتب.

التفاصيل
المَعلمات
[in,out] aWriter
إحالة إلى كاتب TLV لكتابة نهاية القائمة باستخدامها
المرتجعات
WEAVE_NO_ERROR بنجاح. وبخلاف ذلك، سيتم عرض خطأ WEAVE_ERROR يشير إلى عدم القدرة على إنهاء حاوية.

EndList

WEAVE_ERROR EndList(
  ReferencedTLVData & aList,
  nl::Weave::TLV::TLVWriter & aWriter
)

انتهِ من كتابة قائمة مسارات أو قائمة بيانات.

اكتب TLV لنهاية مسار WDM أو قائمة البيانات. أيضًا، ضع اللمسات الأخيرة على الكاتب. في هذه الحالة، يتم تمرير الكائن ReferencedTLVData الذي تتم كتابة TLV إليه وتعديله ليعكس مقدار البيانات المكتوبة.

التفاصيل
المَعلمات
[in,out] aList
يشير إلى الكائن ReferenceTLVData الذي تتم كتابة القائمة عليه.
[in] aWriter
إحالة إلى كاتب TLV لكتابة نهاية القائمة باستخدامها
المرتجعات
WEAVE_NO_ERROR بنجاح. وبخلاف ذلك، سيتم عرض خطأ WEAVE_ERROR يشير إلى عدم القدرة على إنهاء حاوية.

IsPublisherSpecific

bool IsPublisherSpecific(
  const TopicIdentifier & aTopicId
)

تحقق مما إذا كان رقم تعريف الموضوع خاصًا بالناشر.

التفاصيل
المَعلمات
[in] aTopicId
التحقق من معرّف الموضوع
المرتجعات
true إذا كان معرف الموضوع خاصًا بالناشر، أو false بخلاف ذلك

OpenDataList

WEAVE_ERROR OpenDataList(
  ReferencedTLVData & aDataList,
  nl::Weave::TLV::TLVReader & aReader
)

ابدأ بقراءة قائمة البيانات.

باستخدام قارئ جديد وقائمة بيانات جديدة، ابدأ قراءة القائمة وتحقق من صحة العلامات والأنواع التي حدثت في البداية في العملية. إذا سارت الأمور على ما يرام، يتوقف القارئ بعد إدخال حاوية القائمة.

التفاصيل
المَعلمات
[in] aDataList
تم تمرير قائمة بيانات كمرجع إلى عنصر ReferencedTLVData. تتمثل حالة الاستخدام العادية في استمرار وجود القائمة بالفعل في مورد احتياطي بعد الاستلام.
[out] aReader
مرجع إلى قارئ TLV يُستخدم لقراءة قائمة البيانات. سيترك هذا القارئ مشيرًا قبل العنصر الأول في القائمة مباشرةً.
المرتجعات
WEAVE_NO_ERROR بنجاح. وبخلاف ذلك، يمكنك عرض خطأ WEAVE_ERROR يعكس حدوث إخفاق في فتح قائمة البيانات و/أو التحقق من صحة العلامات والأنواع ذات الصلة.

OpenDataListElement

WEAVE_ERROR OpenDataListElement(
  nl::Weave::TLV::TLVReader & aReader,
  nl::Weave::TLV::TLVReader & aPathReader,
  uint64_t & aVersion
)

ابدأ قراءة عنصر قائمة بيانات.

بالنظر إلى القارئ الموجود في عنصر قائمة البيانات، ابدأ قراءة العنصر وتحقق من صحة العلامات والأنواع التي حدثت في البداية في العملية. إذا سارت الأمور على ما يرام، ينتهي الأمر بالقارئ إلى وضع بيانات عنصر البيانات ويتم وضع قارئ المسار الداخلي/الخارجي في المسار المقابل.

التفاصيل
المَعلمات
[in] aReader
مرجع إلى قارئ TLV موضوع في عنصر قائمة البيانات.
[out] aPathReader
مرجع إلى قارئ TLV يجب توجيهه إلى مكوّن المسار لعنصر قائمة البيانات.
[out] aVersion
مرجع إلى عدد صحيح 64 بت يجب ضبطه على إصدار عنصر قائمة البيانات في حال توفّره أو على kVersionNotSpecified.
المرتجعات
WEAVE_NO_ERROR عند النجاح أو قيمة WEAVE_ERROR الأخرى المرتبطة بفتح عنصر قائمة البيانات وقراءته.

OpenPathList

WEAVE_ERROR OpenPathList(
  ReferencedTLVData & aPathList,
  nl::Weave::TLV::TLVReader & aReader
)

ابدأ بقراءة قائمة المسارات.

باستخدام قارئ جديد وقائمة مسار، ابدأ قراءة القائمة وتحقَّق من صحة العلامات والأنواع التي حدثت في البداية في العملية. إذا سارت الأمور على ما يرام، يتوقف القارئ بعد إدخال حاوية القائمة.

التفاصيل
المَعلمات
[in] aPathList
تم تمرير قائمة مسارات كمرجع لكائن ReferencedTLVData. تتمثل حالة الاستخدام العادية في استمرار وجود القائمة بالفعل في مورد احتياطي بعد الاستلام.
[out] aReader
مرجع إلى قارئ TLV يُستخدَم لقراءة قائمة المسارات. سيترك هذا القارئ مشيرًا قبل المسار الأول في القائمة مباشرةً.
المرتجعات
WEAVE_NO_ERROR عند النجاح، وبخلاف ذلك، تشير علامة WEAVE_ERROR إلى تعذُّر فتح قائمة المسارات و/أو التحقُّق من صحة العلامات والأنواع ذات الصلة.

PublisherSpecificTopicId

TopicIdentifier PublisherSpecificTopicId(
  void
)

أنشِئ رقم تعريف لموضوع خاص بالناشر من البداية.

التفاصيل
المرتجعات
معرف الموضوع الجديد.

SendStatusReport

WEAVE_ERROR SendStatusReport(
  ExchangeContext *aExchangeCtx,
  StatusReport & aStatus
)

StartDataList

WEAVE_ERROR StartDataList(
  nl::Weave::TLV::TLVWriter & aWriter
)

ابدأ في كتابة قائمة بيانات.

اكتب TLV لبداية قائمة بيانات WDM، على سبيل المثال، كوسيطة أساسية لـ UpdateRequest() .

التفاصيل
المَعلمات
[in] aWriter
إحالة إلى كاتب TLV لبدء الكتابة
المرتجعات
WEAVE_NO_ERROR بنجاح. وبخلاف ذلك، سيتم عرض خطأ WEAVE_ERROR يشير إلى عدم القدرة على بدء حاوية.

StartDataList

WEAVE_ERROR StartDataList(
  ReferencedTLVData & aDataList,
  nl::Weave::TLV::TLVWriter & aWriter
)

ابدأ في كتابة قائمة بيانات لعنصر ReferencedTLVData محدَّد.

اكتب TLV لبداية قائمة بيانات WDM. في هذه الحالة، نفترض أننا نكتب قائمة البيانات في بنية بيانات TLV مُشار إليها. من المفترض أن يكون الكاتب غير مهيأ، أو سيتم إعداده، في أي حال، للإشارة إلى الكائن المحدّد.

التفاصيل
المَعلمات
[out] aDataList
يشير إلى عنصر ReferencedTLVData الذي سيكون هدف كاتبه ويتضمّن في النهاية البيانات التي تهمّه.
[in] aWriter
إحالة إلى كاتب TLV لبدء الكتابة
المرتجعات
WEAVE_NO_ERROR بنجاح. وبخلاف ذلك، سيتم عرض خطأ WEAVE_ERROR يشير إلى عدم القدرة على بدء حاوية.

StartDataListElement

WEAVE_ERROR StartDataListElement(
  nl::Weave::TLV::TLVWriter & aWriter
)

ابدأ في كتابة عنصر قائمة بيانات.

اكتب TLV لبداية عنصر قائمة بيانات WDM.

التفاصيل
المَعلمات
[in] aWriter
إحالة إلى كاتب TLV لبدء الكتابة
المرتجعات
WEAVE_NO_ERROR بنجاح. وبخلاف ذلك، سيتم عرض خطأ WEAVE_ERROR يشير إلى عدم القدرة على بدء حاوية.

StartEncodePath

WEAVE_ERROR StartEncodePath(
  TLVWriter & aWriter,
  const uint64_t & aTag,
  uint32_t aProfileId,
  TLVType & mOuterContainer,
  TLVType & mPath
)

StartPathList

WEAVE_ERROR StartPathList(
  nl::Weave::TLV::TLVWriter & aWriter
)

ابدأ في كتابة قائمة مسارات.

اكتب TLV لبداية قائمة مسارات WDM، على سبيل المثال، كوسيطة أساسية لـ ViewRequest() .

التفاصيل
المَعلمات
[in] aWriter
إحالة إلى كاتب TLV لبدء الكتابة
المرتجعات
WEAVE_NO_ERROR بنجاح. وبخلاف ذلك، سيتم عرض خطأ WEAVE_ERROR يشير إلى عدم القدرة على بدء حاوية.

TxnResponseHandler

void TxnResponseHandler(
  ExchangeContext *anExchangeCtx,
  const IPPacketInfo *anAddrInfo,
  const WeaveMessageInfo *aMsgInfo,
  uint32_t aProfileId,
  uint8_t aMsgType,
  PacketBuffer *aMsg
)

TxnTimeoutHandler

void TxnTimeoutHandler(
  ExchangeContext *anExchangeCtx
)

ValidateTLVType

WEAVE_ERROR ValidateTLVType(
  nl::Weave::TLV::TLVType aType,
  nl::Weave::TLV::TLVReader & aReader
)

تحقَّق من أنّ عنصر TLV الذي تتم قراءته يتضمّن النوع TLV المتوقّع.

تحقَّق من نوع TLV محدَّد مقابل نوع العنصر الموجود على رأس قارئ TLV واعرِض رسالة خطأ في حال عدم وجود تطابق.

التفاصيل
المَعلمات
[in] aType
نوع TLVType المراد التحقق منه مقابل عنصر معين.
[in] aReader
مرجع إلى قارئ TLV موضوع في العنصر المراد التحقّق منه.
المرتجعات
WEAVE_NO_ERROR إذا كان هناك تطابق أو WEAVE_ERROR_WRONG_TLV_TYPE إذا لم يكن الأمر كذلك.
راجِع أيضًا:
WeaveTLVTypes.h

ValidateWDMTag

WEAVE_ERROR ValidateWDMTag(
  uint32_t aTagNum,
  nl::Weave::TLV::TLVReader & aReader
)

تحقَّق من أنّ عنصر TLV الذي تتم قراءته يحتوي على علامة WDM المتوقّعة.

التفاصيل
المَعلمات
[in] aTagNum
رقم علامة 32 بت لعلامة WDM المتوقّعة.
[in] aReader
قارئ TLV يتم وضعه أمام العنصر المطلوب التحقّق من صحته.
المرتجعات
WEAVE_NO_ERROR بنجاح. وبخلاف ذلك، WEAVE_ERROR_INVALID_TLV_TAG إذا لم تتطابق العلامة مع رقم العلامة المحدد عند تفسيرها على أنها علامة WDM.