nl:: Weave:: Profiles:: ReferencedTLVData
#include <src/lib/profiles/common/WeaveMessage.h>
באופן דומה, אנחנו צריכים להיות מסוגלים לייצג blob גדול וישן של נתוני TLV.
סיכום
ירושה
Inherits from: 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)
|
מפעילים אובייקט ReferenceerencedTLVData בהינתן פונקציית קריאה חוזרת.
|
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 )
init
WEAVE_ERROR init( System::PacketBuffer *aBuffer )
מאתחלים את האובייקט ReferencedTLVData בהינתן לו PacketBuffer.
מפעילים אובייקט ReferencedTLVData בהינתן מאגר נתונים זמני שמלא ב-TLV. ההנחה היא שמאגר הנתונים הזמני מכיל רק TLV.
פרטים | |||
---|---|---|---|
פרמטרים |
|
||
ערכים מוחזרים |
|
init
WEAVE_ERROR init( MessageIterator & i )
מפעילים אובייקט ReferencedTLVData בהינתן לו MessageIterator.
מפעילים אובייקט ReferencedTLVData בהינתן לו MessageIterator. במקרה הזה, ה-TLV הוא החלק האחרון של המאגר, ואנחנו מעבירים איטרטור הודעה שמפנה אליו.
פרטים | |||
---|---|---|---|
פרמטרים |
|
||
ערכים מוחזרים |
|
init
WEAVE_ERROR init( uint16_t aLength, uint16_t aMaxLength, uint8_t *aByteString )
מאתחלים אובייקט ReferencedTLVObject בהינתן מחרוזת בייט.
מפעילים את האובייקט ReferencedTLVData עם מחרוזת בייט שמכילה TLV. אנחנו משתמשים במאתחל הזה אם אין PacketrBuffer כי אנחנו יוצרים אחד מהמאתחל, שאותו אנחנו יוצרים לאריזה ולשליחה.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||
ערכים מוחזרים |
|
init
WEAVE_ERROR init( TLVWriteCallback aWriteCallback, void *anAppState )
מפעילים אובייקט ReferenceerencedTLVData בהינתן פונקציית קריאה חוזרת.
מפעילים אובייקט ReferencedTLVData. במקום לספק את הנתונים באופן מפורש, הגרסה הזו מספקת פונקציה, את הקריאה החוזרת (callback) ואת אובייקט הפניה, שיועברו אליה, יחד עם אובייקט TLVWriter, כאשר הנתונים המוזכרים אמורים להידחס ולשלוח. החתימה של הקריאה החוזרת (callback):
typedef void (*TLVWriteCallback)(TLV::TLVWriter &aWriter, void *aAppState);
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
||||
ערכים מוחזרים |
|
isEmpty
bool isEmpty( void )
בודקים אם יש באובייקט ReferencedTLVData משהו.
יש שתי דרכים אפשריות לכך שעצם כזה יכול "להיות" בו. הוא יכול להיות באורך 0 או שאין לו קריאה חוזרת (callback).
פרטים | |
---|---|
החזרות |
True אם אורכה של מערך הנתונים הוא 0 או אם אין קריאה חוזרת (callback) לכתיבה, אחרת, 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 )
מחזירה את אורך הנתונים בהנחה שהאובייקט נארז למאגר נתונים זמני.
פרטים | |
---|---|
החזרות |
אורך המספר השלם של הנתונים הדחוסים.
|
פונקציות סטטיות ציבוריות
parse
WEAVE_ERROR parse( System::PacketBuffer *buff, ReferencedTLVData & aTarget )
מנתחים אובייקט ReferencedTLVData מ-PacketBuffer שסופק.
מנתחים אובייקט ReferencedTLVData מתוך מאגר נתונים זמני inet (בהנחה שהוא מכיל רק TLV).
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
||||
החזרות |
WEAVE_ERROR המשקפת את ההצלחה של קריאת הניתוח הבסיסית.
|
parse
WEAVE_ERROR parse( MessageIterator & i, ReferencedTLVData & aTarget )
מנתחים אובייקט ReferencedTLVData מ-MessageIterator שסופק.
מנתחים אובייקט ReferenceTLVData מאובייקט MessageIterator, בהנחה שהוא מפנה לחלק TLV של ההודעה.
שימו לב שלא מתבצע כאן "ניתוח" בפועל כי ה-TLV נשאר במאגר ולא משתנה בכלל. השיטה הזו רק מגדירה את המבנה ReferencedTLVData לשימוש מאוחר יותר.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
||||
ערכים מוחזרים |
|