nl:: Weave:: TLV
تعريفات للعمل باستخدام البيانات المرمّزة بتنسيق Weave TLV:
ملخّص
Weave 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
عرض true إذا كانت العلامة المقدمة عبارة عن علامة خاصة بالسياق.
|
IsProfileTag(uint64_t tag)
|
bool
تؤدي إلى إرجاع "صحيح" للعلامة المقدّمة هي علامة خاصة بالملف الشخصي.
|
IsSpecialTag(uint64_t tag)
|
bool
|
IsValidTLVType(uint8_t type)
|
bool
يتم عرض true إذا كان نوع 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:: |
وتشمل مساحة الاسم هذه أنواعًا وواجهات تطبيقات للمساعدة في إدارة TLV Weave والعمل معه. |
عمليات التعداد
@71
@71
@73
@73
@75
@75
TLVCommonProfiles
TLVCommonProfiles
أماكن إقامة | |
---|---|
kProfileIdNotSpecified
|
يُستخدم للإشارة إلى عدم وجود معرف ملف شخصي في متغير أو عضو. وهو في الأساس نفس الملف kWeaveProfile_NotSpecified في WeaveProfiles.h |
TLVElementType
TLVElementType
TLVFieldSize
TLVFieldSize
TLVTagControl
TLVTagControl
TLVTagFields
TLVTagFields
المتغيرات
kWeaveTLVCopyChunkSize
const size_t kWeaveTLVCopyChunkSize = 16
لنسخ عنصر TLV من كائن القارئ إلى الكاتب.
تشفّر الطريقة CopyElement() عنصر TLV جديد يتم الحصول على نوعه وقيمته من كائن TLVReader. عند استدعاء الطريقة، من المتوقّع أن يتم وضع كائن القارئ الذي تم توفيره على عنصر TLV المصدر. سيكون للعنصر الذي تم تشفيره حديثًا نوع ومحتوى مماثلَين لحاوية الإدخال، ولكن سيتم ضبط العلامة على الوسيطة المحدّدة. إذا كان العنصر المقدّم عبارة عن حاوية TLV (بنية أو مصفوفة أو مسار)، سيتم نسخ محتوى الحاوية بالكامل.
التفاصيل | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
المَعلمات |
|
||||||||||||||||||
قيم الإرجاع |
|
sTagSizes
const uint8_t sTagSizes[] = { 0, 1, 2, 4, 2, 4, 6, 8 }
الدوال
CommonTag
uint64_t CommonTag( uint32_t tagNum )
تنشئ هذه السمة تمثيل واجهة برمجة التطبيقات لعلامة TLV الشخصية المشتركة.
التفاصيل | |||
---|---|---|---|
المَعلمات |
|
||
المرتجعات |
عدد صحيح 64 بت يمثل العلامة.
|
ContextTag
uint64_t ContextTag( uint8_t tagNum )
تنشئ تمثيل واجهة برمجة التطبيقات لعلامة TLV الخاصة بالسياق.
التفاصيل | |||
---|---|---|---|
المَعلمات |
|
||
المرتجعات |
عدد صحيح 64 بت يمثل العلامة.
|
GetTLVFieldSize
TLVFieldSize GetTLVFieldSize( uint8_t type )
IsContextTag
bool IsContextTag( uint64_t tag )
عرض true إذا كانت العلامة المقدمة عبارة عن علامة خاصة بالسياق.
IsProfileTag
bool IsProfileTag( uint64_t tag )
تؤدي إلى إرجاع "صحيح" للعلامة المقدّمة هي علامة خاصة بالملف الشخصي.
IsSpecialTag
bool IsSpecialTag( uint64_t tag )
IsValidTLVType
bool IsValidTLVType( uint8_t type )
ProfileIdFromTag
uint32_t ProfileIdFromTag( uint64_t tag )
ProfileNumFromTag
uint16_t ProfileNumFromTag( uint64_t tag )
ProfileTag
uint64_t ProfileTag( uint32_t profileId, uint32_t tagNum )
يُنشئ تمثيل واجهة برمجة التطبيقات لعلامة TLV خاصة بالملف الشخصي من رقم تعريف ملف شخصي ورقم علامة.
التفاصيل | |||||
---|---|---|---|---|---|
المَعلمات |
|
||||
المرتجعات |
عدد صحيح 64 بت يمثل العلامة.
|
ProfileTag
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 )
TLVTypeIsString
bool TLVTypeIsString( uint8_t type )
TagNumFromTag
uint32_t TagNumFromTag( uint64_t tag )
يعرض رقم العلامة من علامة TLV.
التفاصيل | |||
---|---|---|---|
المَعلمات |
|
||
المرتجعات |
رقم العلامة المرتبط.
|
IsProfileTag() وIsContextTag()