nl:: بافت:: پروفایل ها:: ReferencedTLVData
#include <src/lib/profiles/common/WeaveMessage.h>
به طور مشابه، ما باید بتوانیم یک لکه بزرگ قدیمی از داده های 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 را با یک تابع callback راه اندازی کنید. |
isEmpty (void) | bool بررسی کنید که آیا یک شی ReferencedTLVData چیزی در آن وجود دارد یا خیر. |
isFree (void) | bool بررسی کنید که آیا یک شی ReferencedTLVData "رایگان" است یا خیر |
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
توابع عمومی
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 )
یک آبجکت RefererencedTLVData را با یک تابع callback راه اندازی کنید.
یک شی ReferencedTLVData را راه اندازی کنید. این نسخه بهجای ارائه صریح دادهها، تابع، پاسخ به نوشتن و یک شی مرجع را ارائه میکند که به همراه یک شی TLVWriter، زمانی که دادههای ارجاعشده قرار است بستهبندی و ارسال شوند، به آن ارسال میشود. امضای آن callback این است:
typedef void (*TLVWriteCallback)(TLV::TLVWriter &aWriter, void *aAppState);
جزئیات | |||||
---|---|---|---|---|---|
پارامترها |
| ||||
ارزش های بازگشتی |
|
خالی است
bool isEmpty( void )
بررسی کنید که آیا یک شی ReferencedTLVData چیزی در آن وجود دارد یا خیر.
دو راه ممکن وجود دارد که چنین شیئی بتواند چیزی "داشته باشد". یا میتواند 0 طول داشته باشد یا میتواند بدون نوشتن پاسخ تماس داشته باشد.
جزئیات | |
---|---|
برمی گرداند | درست است اگر مجموعه داده 0 طول داشته باشد یا هیچ پاسخی برای نوشتن وجود نداشته باشد، در غیر این صورت نادرست است. |
رایگان است
bool isFree( void )
بررسی کنید که آیا یک شی ReferencedTLVData "رایگان" است یا خیر
تعریف نشده
جزئیات | |
---|---|
برمی گرداند | درست است اگر شی تعریف نشده باشد، در غیر این صورت نادرست است. |
اپراتور==
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 را از یک بافر inet تجزیه کنید (با فرض اینکه فقط حاوی TLV باشد).
جزئیات | |||||
---|---|---|---|---|---|
پارامترها |
| ||||
برمی گرداند | یک WEAVE_ERROR که منعکس کننده موفقیت فراخوان تجزیه اساسی است. |
تجزیه
WEAVE_ERROR parse( MessageIterator & i, ReferencedTLVData & aTarget )
یک شی ReferencedTLVData را از یک MessageIterator ارائه شده تجزیه کنید.
یک شی ReferenceTLVData را از یک شی MessageIterator که فرض می شود به قسمت TLV یک پیام اشاره می کند، تجزیه کنید.
توجه داشته باشید که هیچ "تجزیه" واقعی در اینجا انجام نمی شود زیرا TLV در بافر باقی مانده و اصلا دستکاری نشده است. این روش عمدتاً ساختار ReferencedTLVData را برای استفاده بعدی تنظیم می کند.
جزئیات | |||||
---|---|---|---|---|---|
پارامترها |
| ||||
ارزش های بازگشتی |
|
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates. The OPENTHREAD and related marks are trademarks of the Thread Group and are used under license.
تاریخ آخرین بهروزرسانی 2024-11-11 بهوقت ساعت هماهنگ جهانی.