nl:: Weave:: Profiles:: ReferencedTLVData
#include <src/lib/profiles/common/WeaveMessage.h>
इसी तरह, हमें TLV डेटा के एक बड़े पुराने ब्लॉब को दिखाना होगा.
खास जानकारी
इनहेरिटेंस
इनसे इनहेरिट किया जाता है: nl::Weave::Profiles::RetainedPacketBuffer
कंस्ट्रक्टर और डिस्ट्रक्टर |
|
---|---|
ReferencedTLVData(void)
TLV डेटा की परिभाषाएं --------------
|
सार्वजनिक प्रकार |
|
---|---|
TLVWriteCallback)(TLV::TLVWriter &aWriter, void *aAppState)
|
टाइपडिफ़void(*
|
सार्वजनिक विशेषताएं |
|
---|---|
theData
|
uint8_t *
|
theLength
|
uint16_t
|
theMaxLength
|
uint16_t
|
सार्वजनिक फ़ंक्शन |
|
---|---|
free(void)
|
void
ReferencedTLVData ऑब्जेक्ट को फ़्री करें. इसका मतलब है कि इसे तय करना ज़रूरी है.
|
init(System::PacketBuffer *aBuffer)
|
PacketBuffer पर दिए गए ReferencedTLVData ऑब्जेक्ट को शुरू करें.
|
init(MessageIterator & i)
|
MessageIterator के आधार पर, ReferencedTLVData ऑब्जेक्ट को शुरू करें.
|
init(uint16_t aLength, uint16_t aMaxLength, uint8_t *aByteString)
|
बाइट स्ट्रिंग दिए जाने पर,ReferencedTLVObject को शुरू करें.
|
init(TLVWriteCallback aWriteCallback, void *anAppState)
|
कॉलबैक फ़ंक्शन दिए गए रेफ़रेंस्डटीएलवीडेटा ऑब्जेक्ट को शुरू करें.
|
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)
|
दिए गए PacketBuffer से ReferencedTLVData ऑब्जेक्ट को पार्स करें.
|
parse(MessageIterator & i, ReferencedTLVData & aTarget)
|
दिए गए MessageIterator से ReferencedTLVData ऑब्जेक्ट को पार्स करें.
|
सार्वजनिक प्रकार
TLVWriteCallback
void(* TLVWriteCallback)(TLV::TLVWriter &aWriter, void *aAppState)
सार्वजनिक विशेषताएं
theData
uint8_t * theData
theLength
uint16_t theLength
theMaxLength
uint16_t theMaxLength
सार्वजनिक फ़ंक्शन
ReferencedTLVData
ReferencedTLVData( void )
बिना किसी शुल्क के यह ऑफ़र पाएं
void free( void )
ReferencedTLVData ऑब्जेक्ट को फ़्री करें. इसका मतलब है कि इसे तय करना ज़रूरी है.
Init
WEAVE_ERROR init( System::PacketBuffer *aBuffer )
PacketBuffer को दिए गए ReferencedTLVData ऑब्जेक्ट को शुरू करें.
TLV वाला बफ़र होने पर, ReferencedTLVData ऑब्जेक्ट को शुरू करें. इसका मतलब है कि बफ़र में सिर्फ़ TLV शामिल है.
ब्यौरा | |||
---|---|---|---|
पैरामीटर |
|
||
रिटर्न वैल्यू |
|
Init
WEAVE_ERROR init( MessageIterator & i )
MessageIterator के आधार पर, ReferencedTLVData ऑब्जेक्ट को शुरू करें.
MessageIterator के आधार पर, ReferencedTLVData ऑब्जेक्ट को शुरू करें. इस मामले में, TLV बफ़र का आखिरी हिस्सा होता है और हम एक मैसेज इटरेटर पास करते हैं जो इसकी ओर इशारा करता है.
ब्यौरा | |||
---|---|---|---|
पैरामीटर |
|
||
रिटर्न वैल्यू |
|
Init
WEAVE_ERROR init( uint16_t aLength, uint16_t aMaxLength, uint8_t *aByteString )
बाइट स्ट्रिंग दिए जाने पर,ReferencedTLVObject को शुरू करें.
TLV वाली बाइट स्ट्रिंग के साथ, ReferencedTLVData ऑब्जेक्ट को शुरू करें. अगर कोई PacketrBuffer नहीं है, तो हम इस शुरू करने वाले टूल का इस्तेमाल करते हैं. ऐसा इसलिए, क्योंकि हम उसे पैक करने और भेजने के लिए इनमें से एक बना रहे हैं.
ब्यौरा | |||||||
---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||
रिटर्न वैल्यू |
|
Init
WEAVE_ERROR init( TLVWriteCallback aWriteCallback, void *anAppState )
कॉलबैक फ़ंक्शन दिए गए रेफ़रेंस्डटीएलवीडेटा ऑब्जेक्ट को शुरू करें.
ReferencedTLVData ऑब्जेक्ट शुरू करें. यह वर्शन साफ़ तौर पर डेटा देने के बजाय, फ़ंक्शन, राइट कॉलबैक, और रेफ़रंस ऑब्जेक्ट देता है, जिन्हें इसे TLVWriter ऑब्जेक्ट के साथ भेजा जाता है. ऐसा तब होता है, जब रेफ़रंस वाले डेटा को पैक करके भेजना होता है. इस कॉलबैक का हस्ताक्षर यह है:
typedef void (*TLVWriteCallback)(TLV::TLVWriter &aWriter, void *aAppState);
ब्यौरा | |||||
---|---|---|---|---|---|
पैरामीटर |
|
||||
रिटर्न वैल्यू |
|
isखाली
bool isEmpty( void )
देखें कि किसी ReferencedTLVData ऑब्जेक्ट में, कुछ है या नहीं.
इस तरह के ऑब्जेक्ट के "होने" के दो तरीके हो सकते हैं कुछ. इसकी लंबाई 0 भी हो सकती है या हो सकता है कि इसमें लिखने के लिए कोई कॉलबैक न हो.
ब्यौरा | |
---|---|
लौटाए जाने वाले प्रॉडक्ट |
अगर डेटा सेट की लंबाई 0 है या हाथ में कोई राइट कॉलबैक नहीं है, तो गलत है.
|
isFree
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 )
packedLength
uint16_t packedLength( void )
यह मानकर डेटा की लंबाई दें कि ऑब्जेक्ट को बफ़र में पैक कर दिया गया है.
ब्यौरा | |
---|---|
लौटाए जाने वाले प्रॉडक्ट |
पैक किए गए डेटा की पूर्णांक लंबाई.
|
सार्वजनिक स्टैटिक फ़ंक्शन
पार्स करें
WEAVE_ERROR parse( System::PacketBuffer *buff, ReferencedTLVData & aTarget )
दिए गए PacketBuffer से ReferencedTLVData ऑब्जेक्ट को पार्स करें.
एक inet बफ़र से ReferencedTLVData ऑब्जेक्ट को पार्स करें. यह मानते हुए कि इसमें TLV शामिल है.
ब्यौरा | |||||
---|---|---|---|---|---|
पैरामीटर |
|
||||
लौटाए जाने वाले प्रॉडक्ट |
मौजूदा पार्स कॉल की सफलता को दिखाने वाला WEAVE_ERROR.
|
पार्स करें
WEAVE_ERROR parse( MessageIterator & i, ReferencedTLVData & aTarget )
दिए गए MessageIterator से ReferencedTLVData ऑब्जेक्ट को पार्स करें.
एक MessageIterator ऑब्जेक्ट से रेफ़रंस TLVData ऑब्जेक्ट को पार्स करें जो मैसेज के TLV हिस्से की ओर इशारा करता हो.
ध्यान दें कि कोई वास्तविक "पार्सिंग" नहीं है यहां इसलिए किया जाता है, क्योंकि TLV को बफ़र में छोड़ दिया जाता है और इसमें कोई भी बदलाव नहीं किया जाता है. यह तरीका बाद में इस्तेमाल करने के लिए, मुख्य रूप से ReferencedTLVData स्ट्रक्चर को सेट अप करता है.
ब्यौरा | |||||
---|---|---|---|---|---|
पैरामीटर |
|
||||
रिटर्न वैल्यू |
|