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 )
شروع کنید
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 را با یک تابع 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 را برای استفاده بعدی تنظیم می کند.
جزئیات | |||||
---|---|---|---|---|---|
مولفه های |
| ||||
ارزش های بازگشتی |
|
جز در مواردی که غیر از این ذکر شده باشد، محتوای این صفحه تحت مجوز Creative Commons Attribution 4.0 License است و نمونه کدها نیز دارای مجوز Apache 2.0 License است. برای اطلاع از جزئیات، به خطمشیهای سایت Google Developers مراجعه کنید. جاوا علامت تجاری ثبتشده Oracle و/یا شرکتهای وابسته به آن است. Thread علامت تجاری ثبتشده Thread Group, Inc است.
تاریخ آخرین بهروزرسانی 2020-03-06 بهوقت ساعت هماهنگ جهانی.