nl:: Weave:: TLV
הגדרות לעבודה עם נתונים שמקודדים בפורמט TLV של Weave.
סיכום
Weave 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. לאחר הפעלת השיטה, אובייקט הקורא שסופק אמור להיות ממוקם ברכיב המקור 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()