nl:: Weave:: TLV
הגדרות לעבודה עם נתונים שמקודדים בפורמט Weave TLV.
סיכום
TLV היא שיטת קידוד כללית לנתונים מובְנים פשוטים. הוא חולק מאפיינים רבים עם פורמט הפורמט המקובל של JSON בהמשכים, אבל הוא קומפקטי יותר ביחס לחוט.
ערכים של ספירה |
|
---|---|
@71
|
טיפוסים בני מנייה (enum) |
@73
|
טיפוסים בני מנייה (enum) |
@74{
|
טיפוסים בני מנייה (enum) |
@75
|
טיפוסים בני מנייה (enum) |
TLVCommonProfiles{
|
טיפוסים בני מנייה (enum) |
TLVElementType
|
טיפוסים בני מנייה (enum) |
TLVFieldSize
|
טיפוסים בני מנייה (enum) |
TLVTagControl
|
טיפוסים בני מנייה (enum) |
TLVTagFields
|
טיפוסים בני מנייה (enum) |
TLVType
|
טיפוסים בני מנייה (enum) ספירה של הסוג של רכיב 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
יוצרת את ייצוג ה-API של תג TLV של פרופיל נפוץ.
|
ContextTag(uint8_t tagNum)
|
uint64_t
יוצר את ייצוג ה-API של תג TLV ספציפי להקשר.
|
GetTLVFieldSize(uint8_t type)
|
TLVFieldSize
|
IsContextTag(uint64_t tag)
|
bool
הפונקציה מחזירה true אם התג שסופק הוא תג ספציפי להקשר.
|
IsProfileTag(uint64_t tag)
|
bool
הפונקציה מחזירה את הערך true לגבי התג שסופק הוא תג ספציפי לפרופיל.
|
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
יוצרת את ייצוג ה-API של תג TLV ספציפי לפרופיל ממזהה פרופיל ומספר תג.
|
ProfileTag(uint16_t vendorId, uint16_t profileNum, uint32_t tagNum)
|
uint64_t
יוצרת את ייצוג ה-API של תג TLV ספציפי לפרופיל ממזהה ספק, מספר פרופיל ומספר תג.
|
TLVFieldSizeToBytes(TLVFieldSize fieldSize)
|
uint8_t
|
TLVTypeHasLength(uint8_t type)
|
bool
הפונקציה מחזירה true אם סוג TLV שצוין מרמז על נוכחות של שדה אורך משויך.
|
TLVTypeHasValue(uint8_t type)
|
bool
הפונקציה מחזירה true אם סוג TLV שצוין מרמז על נוכחות של שדה ערך משויך.
|
TLVTypeIsContainer(uint8_t type)
|
bool
הפונקציה מחזירה true אם סוג TLV שצוין הוא קונטיינר.
|
TLVTypeIsString(uint8_t type)
|
bool
הפונקציה מחזירה true אם הסוג TLV שצוין הוא מחרוזת של UTF8 או בייטים.
|
TagNumFromTag(uint64_t tag)
|
uint32_t
הפונקציה מחזירה את מספר התג מתוך תג TLV.
|
VendorIdFromTag(uint64_t tag)
|
uint16_t
הפונקציה מחזירה את מזהה הספק מתג TLV.
|
שיעורים |
|
---|---|
nl:: |
|
nl:: |
|
nl:: |
מנתח נתונים יעיל בזיכרון לקידוד נתונים בפורמט TLV של Weave. |
nl:: |
ממשק מאוחד של Reader/Writer לעריכה, להוספה או למחיקה של רכיבים בקידוד TLV. |
nl:: |
מקודד יעיל בזיכרון לכתיבת נתונים בפורמט TLV של Weave. |
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. |
TLVElementType
TLVElementType
TLVFieldSize
TLVFieldSize
TLVTagControl
TLVTagControl
TLVTagFields
TLVTagFields
משתנים
kWeaveTLVCopyChunkSize
const size_t kWeaveTLVCopyChunkSize = 16
מעתיק רכיב TLV מאובייקט קורא לכותב.
השיטה של CopyElement() מקודדת רכיב TLV חדש שהסוג והערך שלו נלקחים מאובייקט TLVReader. כשקוראים ל-method, האובייקט של הקורא שסופק ימוקם ברכיב המקור TLV. הסוג והתוכן של הרכיב המקודד החדש יהיו זהים לאלה של מאגר הקלט, אך התג יוגדר לארגומנט שצוין. אם הרכיב שסופק הוא קונטיינר TLV (מבנה, מערך או נתיב), יועתק כל התוכן של הקונטיינר.
פרטים | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||||||||||||||
מוחזר ערכים |
|
sTagSizes
const uint8_t sTagSizes[] = { 0, 1, 2, 4, 2, 4, 6, 8 }
פונקציות
CommonTag
uint64_t CommonTag( uint32_t tagNum )
יוצרת את ייצוג ה-API של תג TLV של פרופיל נפוץ.
פרטים | |||
---|---|---|---|
פרמטרים |
|
||
החזרות |
מספר שלם בגרסת 64 ביט שמייצג את התג.
|
ContextTag
uint64_t ContextTag( uint8_t tagNum )
יוצר את ייצוג ה-API של תג TLV ספציפי להקשר.
פרטים | |||
---|---|---|---|
פרמטרים |
|
||
החזרות |
מספר שלם בגרסת 64 ביט שמייצג את התג.
|
GetTLVFieldSize
TLVFieldSize GetTLVFieldSize( uint8_t type )
IsContextTag
bool IsContextTag( uint64_t tag )
הפונקציה מחזירה true אם התג שסופק הוא תג ספציפי להקשר.
IsProfileTag
bool IsProfileTag( uint64_t tag )
הפונקציה מחזירה את הערך true לגבי התג שסופק הוא תג ספציפי לפרופיל.
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 )
יוצרת את ייצוג ה-API של תג TLV ספציפי לפרופיל ממזהה פרופיל ומספר תג.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
||||
החזרות |
מספר שלם בגרסת 64 ביט שמייצג את התג.
|
ProfileTag
uint64_t ProfileTag( uint16_t vendorId, uint16_t profileNum, uint32_t tagNum )
יוצרת את ייצוג ה-API של תג 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()