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
)

TLV डेटा की परिभाषाएं --------------

TLV डेटा के लिए नो-आर्ग कंस्ट्रक्टर. यह बिना शुल्क वाले/शुरू नहीं किए गए ऑब्जेक्ट को डिलीवर करता है. यह उपयोगी होने के लिए, यहां बताए गए init() तरीकों में से किसी एक के तहत होना चाहिए.

बिना किसी शुल्क के यह ऑफ़र पाएं

void free(
  void
)

ReferencedTLVData ऑब्जेक्ट को फ़्री करें. इसका मतलब है कि इसे तय करना ज़रूरी है.

Init

WEAVE_ERROR init(
  System::PacketBuffer *aBuffer
)

PacketBuffer को दिए गए ReferencedTLVData ऑब्जेक्ट को शुरू करें.

TLV वाला बफ़र होने पर, ReferencedTLVData ऑब्जेक्ट को शुरू करें. इसका मतलब है कि बफ़र में सिर्फ़ TLV शामिल है.

ब्यौरा
पैरामीटर
[in] aBuffer
एक मैसेज बफ़र, जिसमें TLV मौजूद होता है.
रिटर्न वैल्यू
WEAVE_NO_ERROR
बिना शर्त

Init

WEAVE_ERROR init(
  MessageIterator & i
)

MessageIterator के आधार पर, ReferencedTLVData ऑब्जेक्ट को शुरू करें.

MessageIterator के आधार पर, ReferencedTLVData ऑब्जेक्ट को शुरू करें. इस मामले में, TLV बफ़र का आखिरी हिस्सा होता है और हम एक मैसेज इटरेटर पास करते हैं जो इसकी ओर इशारा करता है.

ब्यौरा
पैरामीटर
[in] i
मैसेज इटरेटर, जो TLV को एक्सट्रैक्ट करने की ओर इशारा करता है.
रिटर्न वैल्यू
WEAVE_NO_ERROR
बिना शर्त

Init

WEAVE_ERROR init(
  uint16_t aLength,
  uint16_t aMaxLength,
  uint8_t *aByteString
)

बाइट स्ट्रिंग दिए जाने पर,ReferencedTLVObject को शुरू करें.

TLV वाली बाइट स्ट्रिंग के साथ, ReferencedTLVData ऑब्जेक्ट को शुरू करें. अगर कोई PacketrBuffer नहीं है, तो हम इस शुरू करने वाले टूल का इस्तेमाल करते हैं. ऐसा इसलिए, क्योंकि हम उसे पैक करने और भेजने के लिए इनमें से एक बना रहे हैं.

ब्यौरा
पैरामीटर
[in] aLength
TLV डेटा की लंबाई
[in] aMaxLength
बफ़र की कुल लंबाई
[in] aByteString
स्ट्रिंग डेटा का पॉइंटर
रिटर्न वैल्यू
WEAVE_NO_ERROR
बिना शर्त

Init

WEAVE_ERROR init(
  TLVWriteCallback aWriteCallback,
  void *anAppState
)

कॉलबैक फ़ंक्शन दिए गए रेफ़रेंस्डटीएलवीडेटा ऑब्जेक्ट को शुरू करें.

ReferencedTLVData ऑब्जेक्ट शुरू करें. यह वर्शन साफ़ तौर पर डेटा देने के बजाय, फ़ंक्शन, राइट कॉलबैक, और रेफ़रंस ऑब्जेक्ट देता है, जिन्हें इसे TLVWriter ऑब्जेक्ट के साथ भेजा जाता है. ऐसा तब होता है, जब रेफ़रंस वाले डेटा को पैक करके भेजना होता है. इस कॉलबैक का हस्ताक्षर यह है:

typedef void (*TLVWriteCallback)(TLV::TLVWriter &aWriter, void *aAppState);

ब्यौरा
पैरामीटर
[in] aWriteCallback
TLV लिखने का समय आने पर कॉल किया जाना है.
[in] anAppState
ऐप्लिकेशन की स्थिति से जुड़ा ऑब्जेक्ट, जिसे राइटर के साथ कॉलबैक में भेजा जाता है.
रिटर्न वैल्यू
WEAVE_NO_ERROR
सफलता पर.
WEAVE_ERROR_INVALID_ARGUMENT
अगर राइट कॉलबैक नहीं दिया गया है.

isखाली

bool isEmpty(
  void
)

देखें कि किसी ReferencedTLVData ऑब्जेक्ट में, कुछ है या नहीं.

इस तरह के ऑब्जेक्ट के "होने" के दो तरीके हो सकते हैं कुछ. इसकी लंबाई 0 भी हो सकती है या हो सकता है कि इसमें लिखने के लिए कोई कॉलबैक न हो.

ब्यौरा
लौटाए जाने वाले प्रॉडक्ट
अगर डेटा सेट की लंबाई 0 है या हाथ में कोई राइट कॉलबैक नहीं है, तो गलत है.

isFree

bool isFree(
  void
)

देखें कि ReferencedTLVData ऑब्जेक्ट "मुफ़्त" है या नहीं, जैसे कि

तय नहीं है.

ब्यौरा
लौटाए जाने वाले प्रॉडक्ट
सही है, अगर ऑब्जेक्ट के बारे में जानकारी नहीं है, नहीं तो गलत.

ऑपरेटर==

bool operator==(
  const ReferencedTLVData &
) const 

बराबरी के लिए, ReferencedTLVData ऑब्जेक्ट की तुलना, किसी दूसरे ऑब्जेक्ट से करें.

ध्यान दें कि यह सिर्फ़ उन दो ऑब्जेक्ट के मामले में सही है जिनमें बफ़र या स्ट्रिंग के हिसाब से सही डेटा मौजूद है.

ब्यौरा
पैरामीटर
[in] Another
जिसके ख़िलाफ़ जांच करनी है
रिटर्न वैल्यू
true
दोनों चीज़ें एक जैसी हों.
false
ऑब्जेक्ट स्ट्रिंग एक जैसी नहीं हैं.

पैक

WEAVE_ERROR pack(
  System::PacketBuffer *buff
)

किसी ReferencedTLVData ऑब्जेक्ट को सीधे PacketBuffer में पैक करें.

ब्यौरा
पैरामीटर
[in] buff
भरने के लिए बफ़र.
लौटाए जाने वाले प्रॉडक्ट
मौजूदा पैक कॉल की सफलता को दिखाने वाला 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 शामिल है.

ब्यौरा
पैरामीटर
[in] buff
वह बफ़र जिसे पढ़ना है.
[out] aTarget
"fill" के लिए ReferencedTLVData ऑब्जेक्ट से संपर्क करें.
लौटाए जाने वाले प्रॉडक्ट
मौजूदा पार्स कॉल की सफलता को दिखाने वाला WEAVE_ERROR.

पार्स करें

WEAVE_ERROR parse(
  MessageIterator & i,
  ReferencedTLVData & aTarget
)

दिए गए MessageIterator से ReferencedTLVData ऑब्जेक्ट को पार्स करें.

एक MessageIterator ऑब्जेक्ट से रेफ़रंस TLVData ऑब्जेक्ट को पार्स करें जो मैसेज के TLV हिस्से की ओर इशारा करता हो.

ध्यान दें कि कोई वास्तविक "पार्सिंग" नहीं है यहां इसलिए किया जाता है, क्योंकि TLV को बफ़र में छोड़ दिया जाता है और इसमें कोई भी बदलाव नहीं किया जाता है. यह तरीका बाद में इस्तेमाल करने के लिए, मुख्य रूप से ReferencedTLVData स्ट्रक्चर को सेट अप करता है.

ब्यौरा
पैरामीटर
[in] i
पार्स किए जा रहे मैसेज पर इटरेटर.
[out] aTarget
पार्स करने के नतीजे को शामिल करने की जगह.
रिटर्न वैल्यू
WEAVE_NO_ERROR
बिना शर्त