nl:: Weave:: TLV
تعريفات للعمل مع بيانات مشفّرة بتنسيق Weave TLV.
الملخّص
Weav TLV هي طريقة ترميز عامة للبيانات المنظَّمة البسيطة. وتشارك العديد من الخصائص بتنسيق تسلسل JSON شائع الاستخدام مع زيادة كثافة السلك بشكل كبير.
تعداد |
|
---|---|
@71
|
تعداد |
@73
|
تعداد |
@74{
|
تعداد |
@75
|
تعداد |
TLVCommonProfiles{
|
تعداد |
TLVElementType
|
تعداد |
TLVFieldSize
|
تعداد |
TLVTagControl
|
تعداد |
TLVTagFields
|
تعداد |
TLVType
|
تعداد تعداد يحدد نوع عنصر TLV. |
المتغيّرات |
|
---|---|
kWeaveTLVCopyChunkSize = 16
|
const size_t
لنسخ عنصر TLV من كائن قارئ إلى المؤلف.
|
sTagSizes = { 0, 1, 2, 4, 2, 4, 6, 8 }[]
|
const uint8_t
|
الدوال |
|
---|---|
CommonTag(uint32_t tagNum)
|
uint64_t
إنشاء تمثيل واجهة برمجة التطبيقات لعلامة ملف شخصي شائعة TLV
|
ContextTag(uint8_t tagNum)
|
uint64_t
تنشئ تمثيل واجهة برمجة التطبيقات لعلامة TLV المتعلقة بالسياق.
|
GetTLVFieldSize(uint8_t type)
|
TLVFieldSize
|
IsContextTag(uint64_t tag)
|
bool
عرض "صحيح" إذا كانت العلامة التي تم توفيرها هي علامة خاصة بالسياق.
|
IsProfileTag(uint64_t tag)
|
bool
تعرض القيمة "صحيح" للعلامة المقدَّمة علامة خاصة بالملف الشخصي.
|
IsSpecialTag(uint64_t tag)
|
bool
|
IsValidTLVType(uint8_t type)
|
bool
عرض "صحيح" إذا كان نوع TLV المحدّد صالحًا.
|
ProfileIdFromTag(uint64_t tag)
|
uint32_t
عرض معرّف الملف الشخصي من علامة TLV.
|
ProfileNumFromTag(uint64_t tag)
|
uint16_t
عرض رقم الملف الشخصي من علامة TLV.
|
ProfileTag(uint32_t profileId, uint32_t tagNum)
|
uint64_t
يتم إنشاء تمثيل واجهة برمجة التطبيقات لعلامة TLV خاصة بالملف الشخصي من معرّف الملف الشخصي ورقم العلامة.
|
ProfileTag(uint16_t vendorId, uint16_t profileNum, uint32_t tagNum)
|
uint64_t
إنشاء تمثيل واجهة برمجة التطبيقات لعلامة TLV خاصة بالملف الشخصي من معرّف المورّد ورقم الملف الشخصي ورقم العلامة.
|
TLVFieldSizeToBytes(TLVFieldSize fieldSize)
|
uint8_t
|
TLVTypeHasLength(uint8_t type)
|
bool
عرض "صحيح" إذا كان النوع TLV المحدّد يشير إلى توفّر حقل طول مرتبط.
|
TLVTypeHasValue(uint8_t type)
|
bool
عرض "صحيح" إذا كان النوع TLV المحدّد يشير إلى توفّر حقل قيمة مرتبط.
|
TLVTypeIsContainer(uint8_t type)
|
bool
لعرض true إذا كان نوع TLV المحدّد حاوية.
|
TLVTypeIsString(uint8_t type)
|
bool
عرض "صحيح" إذا كان نوع TLV المحدّد هو سلسلة UTF8 أو بايت.
|
TagNumFromTag(uint64_t tag)
|
uint32_t
لعرض رقم العلامة من علامة TLV.
|
VendorIdFromTag(uint64_t tag)
|
uint16_t
عرض رقم تعريف المورِّد من علامة TLV.
|
صفوف |
|
---|---|
nl:: |
|
nl:: |
|
nl:: |
توفّر محلّل فعّال للذاكرة للبيانات المشفّرة بتنسيق Weave TLV. |
nl:: |
توفّر واجهة قارئ/كاتب موحّدة لتعديل/إضافة/حذف العناصر في ترميز TLV. |
nl:: |
يوفّر برنامج ترميز فعّالاً للذاكرة لكتابة البيانات بتنسيق Weave TLV. |
nl:: |
يوفر WeaveCircularTLVBuffer سعة تخزين دائرية لـ nl::Weave::TLV::TLVWriter وnl::Weave::TLVTLVReader. |
مساحات الأسماء |
|
---|---|
nl:: |
تشمل مساحة الاسم هذه الأنواع والواجهات لتصحيح الأخطاء وتسجيل Weave TLV. |
nl:: |
تتضمن مساحة الاسم هذه أنواع وواجهات برامج الخدمات لإدارة والتعامل مع Weave TLV. |
تعداد
@71
@71
@73
@73
@75
@75
ملفات TLVCommonProfiles
TLVCommonProfiles
أماكن إقامة | |
---|---|
kProfileIdNotSpecified
|
يُستخدم للإشارة إلى عدم توفّر معرّف ملف شخصي في متغيّر أو عضو. ويُعد هذا الأمر في الأساس مماثلاً لما تم تحديده في kWeaveProfile_NotSpecified في WeaveProfiles.h |
نوع العنصر TLV
TLVElementType
حجم TLVField
TLVFieldSize
حملة TLVTag
TLVTagControl
حقول TLVTag
TLVTagFields
المتغيّرات
kWeaveTLVCopyChunkSize
const size_t kWeaveTLVCopyChunkSize = 16
لنسخ عنصر TLV من كائن قارئ إلى المؤلف.
وتعمل طريقة CopyElement() على ترميز عنصر TLV جديد يتم الحصول على نوعه وقيمته من عنصر TLVReader. عندما يتم استدعاء الطريقة، من المتوقع أن يتم وضع كائن القارئ الذي تم توفيره على العنصر المصدر TLV. وسيتضمّن العنصر المشفّر حديثًا النوع نفسه ومحتواه لحاوية الإدخال، ولكن سيتم ضبط العلامة على الوسيطة المحدّدة. إذا كان العنصر المزوّد حاوية TLV (بنية أو مصفوفة أو مسار)، سيتم نسخ محتوى الحاوية بالكامل.
التفاصيل | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
المعلَمات |
|
||||||||||||||||||
قيم الإرجاع |
|
أحجام علامات
const uint8_t sTagSizes[] = { 0, 1, 2, 4, 2, 4, 6, 8 }
الدوال
العلامة المشتركة
uint64_t CommonTag( uint32_t tagNum )
إنشاء تمثيل واجهة برمجة التطبيقات لعلامة ملف شخصي شائعة TLV
التفاصيل | |||
---|---|---|---|
المعلَمات |
|
||
المرتجعات |
عدد صحيح 64 بت يمثّل العلامة
|
علامة السياق
uint64_t ContextTag( uint8_t tagNum )
تنشئ تمثيل واجهة برمجة التطبيقات لعلامة TLV المتعلقة بالسياق.
التفاصيل | |||
---|---|---|---|
المعلَمات |
|
||
المرتجعات |
عدد صحيح 64 بت يمثّل العلامة
|
GetTLVFieldSize
TLVFieldSize GetTLVFieldSize( uint8_t type )
علامة IsContextTag
bool IsContextTag( uint64_t tag )
عرض "صحيح" إذا كانت العلامة التي تم توفيرها هي علامة خاصة بالسياق.
علامة الملف الشخصي
bool IsProfileTag( uint64_t tag )
تعرض القيمة "صحيح" للعلامة المقدَّمة علامة خاصة بالملف الشخصي.
علامة خاصة
bool IsSpecialTag( uint64_t tag )
نوع الصالحة TLV
bool IsValidTLVType( uint8_t type )
رقم تعريف الملف الشخصي من
uint32_t ProfileIdFromTag( uint64_t tag )
الملف الشخصي من العلامة
uint16_t ProfileNumFromTag( uint64_t tag )
علامة الملف الشخصي
uint64_t ProfileTag( uint32_t profileId, uint32_t tagNum )
يتم إنشاء تمثيل واجهة برمجة التطبيقات لعلامة TLV خاصة بالملف الشخصي من معرّف الملف الشخصي ورقم العلامة.
التفاصيل | |||||
---|---|---|---|---|---|
المعلَمات |
|
||||
المرتجعات |
عدد صحيح 64 بت يمثّل العلامة
|
علامة الملف الشخصي
uint64_t ProfileTag( uint16_t vendorId, uint16_t profileNum, uint32_t tagNum )
إنشاء تمثيل واجهة برمجة التطبيقات لعلامة TLV خاصة بالملف الشخصي من معرّف المورّد ورقم الملف الشخصي ورقم العلامة.
التفاصيل | |||||||
---|---|---|---|---|---|---|---|
المعلَمات |
|
||||||
المرتجعات |
عدد صحيح 64 بت يمثّل العلامة
|
قناة TLVFieldSizeToBytes
uint8_t TLVFieldSizeToBytes( TLVFieldSize fieldSize )
TLVTypeHasLength
bool TLVTypeHasLength( uint8_t type )
TLVTypeHasValue
bool TLVTypeHasValue( uint8_t type )
TLVTypeIscontainer
bool TLVTypeIsContainer( uint8_t type )
سلسلة TLV
bool TLVTypeIsString( uint8_t type )
TagNumFromTag
uint32_t TagNumFromTag( uint64_t tag )
لعرض رقم العلامة من علامة TLV.
التفاصيل | |||
---|---|---|---|
المعلَمات |
|
||
المرتجعات |
رقم العلامة المرتبط به.
|
IsProfileTag() وIsContextTag()