nl:: Weave:: الملفات الشخصية:: ReferencedTLVData
#include <src/lib/profiles/common/WeaveMessage.h>
وبالمثل، يجب أن نتمكّن من تمثيل كائن ثنائي كبير جدًا لبيانات TLV.
الملخّص
الاكتساب
يكتسب من: nl::Weave::Profiles::KeepedPacketBuffer
الماكينات والبناء |
|
---|---|
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)
|
يؤدي ذلك إلى إعداد كائن إحالة مرجعي.
|
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)
السمات العامة
البيانات
uint8_t * theData
الطول
uint16_t theLength
أقصى طول
uint16_t theMaxLength
وظائف عامة
البيانات المرجعية لـ LLV
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 )
يؤدي ذلك إلى إعداد كائن إحالة مرجعي.
عليك ضبط عنصر ReferencedTLVData. وبدلاً من توفير البيانات صراحةً، يوفّر هذا الإصدار الدالة ومعاودة الاتصال للكتابة والكائن المرجعي، الذي سيتم تمريره إليه، مع كائن TLVWriter، عندما يكون من المفترض أن يتم تجميع البيانات المُشار إليها وإرسالها. توقيع معاودة الاتصال هذه:
typedef void (*TLVWriteCallback)(TLV::TLVWriter &aWriter, void *aAppState);
التفاصيل | |||||
---|---|---|---|---|---|
المعلَمات |
|
||||
قيم الإرجاع |
|
isblank
bool isEmpty( void )
تحقّق مما إذا كان هناك كائن ReferencedTLVData يتضمّن أي عنصر.
ثمة طريقتان محتمَلتان لتحقيق هذا الهدف: إمّا أنّه يمكن أن يتضمّن 0 طول أو لا يمكن الردّ على طلب الكتابة.
التفاصيل | |
---|---|
المرتجعات |
صحيح إذا كانت مجموعة البيانات لها 0 طول أو ليس هناك معاودة اتصال للكتابة في اليد، أو خطأ خطأ بخلاف ذلك.
|
مجاني
bool isFree( void )
تحقّق ممّا إذا كان عنصر ReferencedTLVData هو &"free" أي
غير محدّد.
التفاصيل | |
---|---|
المرتجعات |
صحيح إذا كان الكائن غير محدد أو خطأ بخلاف ذلك.
|
عامل التشغيل==
bool operator==( const ReferencedTLVData & ) const
تحقّق من عنصر ReferencedTLVData في مقابل عنصر آخر للتساوي.
يُرجى العِلم بأنّ هذا الإجراء لا يكون منطقيًا إلا في حال توفّر بيانات مضمّنة فيهما عن طريق مخزن مؤقت أو سلسلة.
التفاصيل | |||||
---|---|---|---|---|---|
المعلَمات |
|
||||
قيم الإرجاع |
|
حزمة
WEAVE_ERROR pack( System::PacketBuffer *buff )
يمكنك تجميع كائن ReferencedTLVData مباشرةً في PacketBuffer.
التفاصيل | |||
---|---|---|---|
المعلَمات |
|
||
المرتجعات |
رمز WEAVE_ERROR يعكس نجاح طلب الحزمة الأساسية.
|
حزمة
WEAVE_ERROR pack( MessageIterator & i, uint32_t maxLen )
طول الحزمة
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 لاستخدامها لاحقًا.
التفاصيل | |||||
---|---|---|---|---|---|
المعلَمات |
|
||||
قيم الإرجاع |
|