nl::Weave::Profiles::ReferencedTLVData

#include <src/lib/profiles/common/WeaveMessage.h>

इसी तरह, हमें टीएलवी डेटा का एक बड़ा पुराना ब्लॉब दिखाना होगा.

खास जानकारी

इनहेरिटेंस

इनसे इनहेरिट की गई: nl::Weave::Profiles::RetainedPacketBuffer

कंस्ट्रक्टर और डिस्ट्रक्टर

ReferencedTLVData(void)
-------------- टीएलवी के डेटा की परिभाषाएं --------------

सार्वजनिक टाइप

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

सार्वजनिक एट्रिब्यूट

theData
uint8_t *
theLength
uint16_t
theMaxLength
uint16_t

सार्वजनिक फ़ंक्शन

free(void)
void
एक ReferencedTLVData ऑब्जेक्ट खाली करें, जिसका मतलब है कि यह, उसकी परिभाषा के मुताबिक नहीं है.
init(System::PacketBuffer *aBuffer)
किसी PaetBuffer के साथ 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 ऑब्जेक्ट को सीधे पैकेटBuffer में पैक करें.
pack(MessageIterator & i, uint32_t maxLen)
packedLength(void)
uint16_t
यह मानते हुए डेटा की लंबाई दें कि ऑब्जेक्ट को बफ़र में पैक किया गया है.

सार्वजनिक स्टैटिक फ़ंक्शन

parse(System::PacketBuffer *buff, ReferencedTLVData & aTarget)
दिए गए पैकेटBuffer से, 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
)

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

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

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

void free(
  void
)

एक ReferencedTLVData ऑब्जेक्ट खाली करें, जिसका मतलब है कि यह, उसकी परिभाषा के मुताबिक नहीं है.

init

WEAVE_ERROR init(
  System::PacketBuffer *aBuffer
)

किसी PaetBuffer के साथ ReferencedTLVData ऑब्जेक्ट को शुरू करें.

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

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

init

WEAVE_ERROR init(
  MessageIterator & i
)

MessageIterator के साथ, ReferencedTLVData ऑब्जेक्ट को शुरू करें.

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

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

init

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

किसी बाइट स्ट्रिंग के साथ,ReferencedTLVObject को शुरू करें.

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

जानकारी
पैरामीटर
[in] aLength
टीएलवी डेटा की लंबाई
[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
टीएलवी लिखने का समय आने पर फ़ंक्शन को कॉल करना.
[in] anAppState
कॉलबैक में राइटर के साथ पास किया जाने वाला ऐप्लिकेशन स्टेट ऑब्जेक्ट.
रिटर्न वैल्यू
WEAVE_NO_ERROR
सफलता पर.
WEAVE_ERROR_INVALID_ARGUMENT
अगर राइट कॉलबैक नहीं दिया गया है.

isEmpty

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 ऑब्जेक्ट को सीधे पैकेटBuffer में पैक करें.

जानकारी
पैरामीटर
[in] buff
को भरने के लिए बफ़र.
लौटाए गए सामान
इसमें WEAVE_ERROR का इस्तेमाल किया गया है, जो पैक कॉल की सफलता को दिखाता है.

पैक

WEAVE_ERROR pack(
  MessageIterator & i,
  uint32_t maxLen
)

packedLength

uint16_t packedLength(
  void
)

यह मानते हुए डेटा की लंबाई दें कि ऑब्जेक्ट को बफ़र में पैक किया गया है.

जानकारी
लौटाए गए सामान
पैक किए गए डेटा की इंटीजर लंबाई.

सार्वजनिक स्टैटिक फ़ंक्शन

parse

WEAVE_ERROR parse(
  System::PacketBuffer *buff,
  ReferencedTLVData & aTarget
)

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

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

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

parse

WEAVE_ERROR parse(
  MessageIterator & i,
  ReferencedTLVData & aTarget
)

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

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

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

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