nl:: Weave:: Profiles:: ReferencedTLVData
#include <src/lib/profiles/common/WeaveMessage.h>
באופן דומה, אנחנו צריכים להיות מסוגלים לייצג blob ישן וגדול של נתוני TLV.
סיכום
ירושה
עובר בירושה מ: nl::Weave::Profiles::RetainedPacketBuffer
בנייה |
|
---|---|
ReferencedTLVData(void)
-------------- הגדרות לנתוני TLV --------------
|
סוגים ציבוריים |
|
---|---|
TLVWriteCallback)(TLV::TLVWriter &aWriter, void *aAppState)
|
typedefvoid(*
|
מאפיינים ציבוריים |
|
---|---|
theData
|
uint8_t *
|
theLength
|
uint16_t
|
theMaxLength
|
uint16_t
|
פונקציות ציבוריות |
|
---|---|
free(void)
|
void
נותנים בחינם אובייקט ReferencedTLVData, כלומר, לבטל את ההגדרה שלו.
|
init(System::PacketBuffer *aBuffer)
|
מאתחלים את האובייקט ReferencedTLVData עם PacketBuffer.
|
init(MessageIterator & i)
|
מאתחלים אובייקט ReferencedTLVData שניתן ל-MessageIterator.
|
init(uint16_t aLength, uint16_t aMaxLength, uint8_t *aByteString)
|
מאתחלים ReferencedTLVObject עם מחרוזת של בייט.
|
init(TLVWriteCallback aWriteCallback, void *anAppState)
|
לאתחל אובייקט RefererencedTLVData תוך שימוש בפונקציית קריאה חוזרת.
|
isEmpty(void)
|
bool
בודקים אם יש משהו באובייקט ReferencedTLVData.
|
isFree(void)
|
bool
בודקים אם אובייקט ReferencedTLVData הוא "free", כלומר,
|
operator==(const ReferencedTLVData &) const
|
bool
בודקים אם יש שוויון באובייקט ReferencedTLVData לבין אובייקט אחר.
|
pack(System::PacketBuffer *buff)
|
אורזים אובייקט ReferencedTLVData ישירות לתוך PacketBuffer.
|
pack(MessageIterator & i, uint32_t maxLen)
|
|
packedLength(void)
|
uint16_t
החזרת אורך הנתונים בהנחה שהאובייקט נדחס למאגר נתונים זמני.
|
פונקציות סטטיות ציבוריות |
|
---|---|
parse(System::PacketBuffer *buff, ReferencedTLVData & aTarget)
|
מנתחים אובייקט ReferencedTLVData מ-packetBuffer שסופק.
|
parse(MessageIterator & i, ReferencedTLVData & aTarget)
|
מנתחים אובייקט ReferencedTLVData מ-MessageIterator שסופק.
|
סוגים ציבוריים
TLVWriteCallback
void(* TLVWriteCallback)(TLV::TLVWriter &aWriter, void *aAppState)
מאפיינים ציבוריים
theData
uint8_t * theData
theLength
uint16_t theLength
theMaxLength
uint16_t theMaxLength
פונקציות ציבוריות
ReferencedTLVData
ReferencedTLVData( void )
להתחיל
WEAVE_ERROR init( System::PacketBuffer *aBuffer )
מאתחלים את האובייקט ReferencedTLVData עם PacketBuffer.
מאתחלים אובייקט ReferencedTLVData עם מאגר נתונים זמני שמלא ב-TLV. ההנחה היא שהמאגר הזמני מכיל רק TLV.
פרטים | |||
---|---|---|---|
פרמטרים |
|
||
מוחזר ערכים |
|
להתחיל
WEAVE_ERROR init( MessageIterator & i )
מאתחלים אובייקט ReferencedTLVData שניתן ל-MessageIterator.
מאתחלים אובייקט ReferencedTLVData שניתן ל-MessageIterator. במקרה הזה, ה-TLV הוא החלק האחרון של מאגר הנתונים הזמני, ואנחנו מעבירים אותו באיטרטור של הודעה שמפנה אליו.
פרטים | |||
---|---|---|---|
פרמטרים |
|
||
מוחזר ערכים |
|
להתחיל
WEAVE_ERROR init( uint16_t aLength, uint16_t aMaxLength, uint8_t *aByteString )
מאתחלים ReferencedTLVObject עם מחרוזת של בייט.
מאתחלים אובייקט ReferencedTLVData עם מחרוזת בייט שמכילה TLV. המאתחל הזה הוא זה שבו אנחנו משתמשים אם אין PacketrBuffer כי אנחנו יוצרים אחד כזה כדי לארוז ולשלוח.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||
מוחזר ערכים |
|
להתחיל
WEAVE_ERROR init( TLVWriteCallback aWriteCallback, void *anAppState )
לאתחל אובייקט RefererencedTLVData תוך שימוש בפונקציית קריאה חוזרת.
מאתחלים אובייקט ReferencedTLVData. במקום לספק את הנתונים באופן מפורש, הגרסה הזו מספקת פונקציה, קריאה חוזרת (callback) ואובייקט עזר שיועברו אליה, יחד עם אובייקט TLVWriter, כאשר הנתונים שאליהם מתבצעת ההפניה אמורים להיות ארוזים ונשלחים. החתימה של הקריאה החוזרת הזו היא:
typedef void (*TLVWriteCallback)(TLV::TLVWriter &aWriter, void *aAppState);
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
||||
מוחזר ערכים |
|
ריק
bool isEmpty( void )
בודקים אם יש משהו באובייקט ReferencedTLVData.
יש שתי דרכים אפשריות שבהן אובייקט כזה יכול "להיח" או משהו. האורך שלו יכול להיות 0, או שהוא לא יכול לכלול קריאה חוזרת (callback).
פרטים | |
---|---|
החזרות |
true אם למערך הנתונים יש אורך של 0 או שאין קריאה חוזרת ליד, אחרת, צריך להזין false.
|
isFree
bool isFree( void )
בודקים אם אובייקט ReferencedTLVData הוא "free", כלומר,
ולא מוגדר.
פרטים | |
---|---|
החזרות |
true אם האובייקט לא מוגדר, אחרת false.
|
אופרטור==
bool operator==( const ReferencedTLVData & ) const
בודקים אם יש שוויון באובייקט ReferencedTLVData לבין אובייקט אחר.
שימו לב שזה הגיוני רק במקרה של שני אובייקטים שיש בהם נתונים ממשיים שמגובים במאגר נתונים זמני או במחרוזת.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
||||
מוחזר ערכים |
|
חבילה
WEAVE_ERROR pack( System::PacketBuffer *buff )
אורזים אובייקט ReferencedTLVData ישירות לתוך PacketBuffer.
פרטים | |||
---|---|---|---|
פרמטרים |
|
||
החזרות |
WEAVE_ERROR שמשקף את ההצלחה של קריאת החבילה הבסיסית.
|
חבילה
WEAVE_ERROR pack( MessageIterator & i, uint32_t maxLen )
packedLength
uint16_t packedLength( void )
החזרת אורך הנתונים בהנחה שהאובייקט נדחס למאגר נתונים זמני.
פרטים | |
---|---|
החזרות |
אורך המספר השלם של הנתונים הארוזים.
|
פונקציות סטטיות ציבוריות
לנתח
WEAVE_ERROR parse( System::PacketBuffer *buff, ReferencedTLVData & aTarget )
מנתחים אובייקט ReferencedTLVData מ-packetBuffer שסופק.
לנתח אובייקט ReferencedTLVData מתוך מאגר נתונים זמני (בהנחה שהוא מכיל רק TLV).
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
||||
החזרות |
WEAVE_ERROR המשקף את ההצלחה של הפעלת הניתוח הבסיסית.
|
לנתח
WEAVE_ERROR parse( MessageIterator & i, ReferencedTLVData & aTarget )
מנתחים אובייקט ReferencedTLVData מ-MessageIterator שסופק.
מנתחים אובייקט ReferenceTLVData מאובייקט MessageIterator, שסביר להניח שהוא מפנה לחלק של ה-TLV של הודעה.
שימו לב שאין 'ניתוח' מתבצעת כאן כי TLV נשאר במאגר הנתונים הזמני ולא נערך בכלל. השיטה הזו רק מגדירה את המבנה ReferencedTLVData לשימוש מאוחר יותר.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
||||
מוחזר ערכים |
|