संग्रह की मदद से व्यवस्थित रहें अपनी प्राथमिकताओं के आधार पर, कॉन्टेंट को सेव करें और कैटगरी में बांटें.

nl::वेव::TLV::TLVUpdater

#include <src/lib/core/WeaveTLV.h>

TLV एन्कोडिंग में एलिमेंट को बदलाव करने/जोड़ने/मिटाने के लिए यूनिफ़ाइड रीडर/राइटर इंटरफ़ेस देता है.

खास जानकारी

TLVUpdater TLVReader और TLVWriter ऑब्जेक्ट का एक यूनियन है. यह कोड में बदलने/मिटाने के साथ-साथ TLV एन्कोडिंग में नए एलिमेंट जोड़ने के लिए, इंटरफ़ेस के तरीके उपलब्ध कराता है. TLVUpdater ऑब्जेक्ट दो तरह के कर्सर की तरह काम करता है. एक कर्सर मौजूदा एन्कोडिंग को पढ़ने के लिए और दूसरा लिखने के लिए (मौजूदा डेटा को कॉपी करने के लिए या नया डेटा लिखने के लिए).

मुख्य तौर पर, TLVUpdater ऑब्जेक्ट, TLVReader और TLVWriter के यूनियन की तरह काम करता है. TLVUpdater तरीकों का मतलब कम या ज़्यादा मिलता-जुलता है. इसका मतलब, TLVReader/TLVWriter के नाम से मिलता-जुलता है. जहां सिमैंटिक में अंतर होते हैं, वहां अंतर को WeaveTLVUpdater.cpp के फ़ंक्शन's टिप्पणी सेक्शन में साफ़ तौर पर दर्ज किया जाना चाहिए.

TLVUpdater'sputBytes() और PushString() मेथड के बारे में खास तौर पर एक बात यह है कि यह ओवरफ़्लो होने पर सिर्फ़ एलिमेंट के हेडर को लिखकर, गड़बड़ी को ठीक कर सकता है. ऐप्लिकेशन, GetRemainingFreeLength() को कॉल करके पक्का कर सकते हैं कि कोड में बदलने के लिए करीब जगह खाली है. ध्यान दें कि GetRemainingFreeLength() सिर्फ़ आपको उपलब्ध मुफ़्त बाइट बताता है और ऐप्लिकेशन को लिखे गए डेटा की लंबाई देखने का कोई तरीका नहीं है. ओवरफ़्लो होने की स्थिति में, PushBytes() और PuString() दोनों, कॉल करने वाले को WEAVE_ERROR_BUFFER_TOO_small देंगे.

साथ ही, ध्यान दें कि Next() मैथड, मौजूदा एलिमेंट को छोड़ने के लिए ओवरलोड होता है. साथ ही, इंटरनल रीडर को अगले एलिमेंट पर भी ले जाता है. पहले से एन्कोड किए गए एलिमेंट को स्किप करने के लिए, इंटरनल राइटर के मुफ़्त स्पेस स्टेट वैरिएबल को, नए खाली जगह (स्किप करने के बाद उपलब्ध कराया गया) के लिए बदलना ज़रूरी होता है. ऐप्लिकेशन को अपडेटर पर Next() को कॉल करने की ज़रूरत होती है जिसके बाद वैल्यू होती है (जो मौजूदा एलिमेंट को छोड़ने के बराबर होती है).

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

CopyElement(TLVReader & reader)
CopyElement(uint64_t tag, TLVReader & reader)
DupBytes(uint8_t *& buf, uint32_t & dataLen)
DupString(char *& buf)
EndContainer(TLVType outerContainerType)
EnterContainer(TLVType & outerContainerType)
कंटेनर के एलिमेंट को पढ़ने के लिए, TLVUpdater ऑब्जेक्ट तैयार करता है.
ExitContainer(TLVType outerContainerType)
टीएलवी कंटेनर एलिमेंट की रीडिंग को पूरा करता है और टीएलवी आउटपुट में टीएलवी एलिमेंट के आखिरी हिस्से को कोड में बदलता है.
Finalize(void)
Get(bool & v)
Get(int8_t & v)
Get(int16_t & v)
Get(int32_t & v)
Get(int64_t & v)
Get(uint8_t & v)
Get(uint16_t & v)
Get(uint32_t & v)
Get(uint64_t & v)
Get(float & v)
Get(double & v)
GetBytes(uint8_t *buf, uint32_t bufSize)
GetContainerType(void) const
GetDataPtr(const uint8_t *& data)
GetImplicitProfileId(void)
uint32_t
GetLength(void) const
uint32_t
GetLengthRead(void) const
uint32_t
GetLengthWritten(void)
uint32_t
GetReader(TLVReader & containerReader)
void
GetRemainingFreeLength(void)
uint32_t
GetRemainingLength(void) const
uint32_t
GetString(char *buf, uint32_t bufSize)
GetTag(void) const
uint64_t
GetType(void) const
Init(uint8_t *buf, uint32_t dataLen, uint32_t maxLen)
एक इनपुट बफ़र में बदलाव करने के लिए, TLVUpdater ऑब्जेक्ट शुरू करें.
Init(TLVReader & aReader, uint32_t freeLen)
TLVReader की मदद से, TLVUpdater ऑब्जेक्ट को शुरू करें.
Move(void)
मौजूदा एलिमेंट को इनपुट टीएलवी से आउटपुट टीएलवी में कॉपी करता है.
MoveUntilEnd(void)
void
TLVUpdater'के मौजूदा रीड पॉइंट से लेकर इनपुट TLV बफ़र तक, हर चीज़ को आउटपुट में बदलें.
Next(void)
मौजूदा एलिमेंट को छोड़ें और इनपुट में TLV के अगले एलिमेंट में TLVUpdater ऑब्जेक्ट बढ़ाएं.
Put(uint64_t tag, int8_t v)
Put(uint64_t tag, int16_t v)
Put(uint64_t tag, int32_t v)
Put(uint64_t tag, int64_t v)
Put(uint64_t tag, uint8_t v)
Put(uint64_t tag, uint16_t v)
Put(uint64_t tag, uint32_t v)
Put(uint64_t tag, uint64_t v)
Put(uint64_t tag, int8_t v, bool preserveSize)
Put(uint64_t tag, int16_t v, bool preserveSize)
Put(uint64_t tag, int32_t v, bool preserveSize)
Put(uint64_t tag, int64_t v, bool preserveSize)
Put(uint64_t tag, uint8_t v, bool preserveSize)
Put(uint64_t tag, uint16_t v, bool preserveSize)
Put(uint64_t tag, uint32_t v, bool preserveSize)
Put(uint64_t tag, uint64_t v, bool preserveSize)
Put(uint64_t tag, float v)
Put(uint64_t tag, double v)
PutBoolean(uint64_t tag, bool v)
PutBytes(uint64_t tag, const uint8_t *buf, uint32_t len)
PutNull(uint64_t tag)
PutString(uint64_t tag, const char *buf)
PutString(uint64_t tag, const char *buf, uint32_t len)
SetImplicitProfileId(uint32_t profileId)
void
TLVUpdater ऑब्जेक्ट के लिए, Implicit प्रोफ़ाइल आईडी सेट करें.
StartContainer(uint64_t tag, TLVType containerType, TLVType & outerContainerType)
VerifyEndOfContainer(void)

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

कॉपीएलिमेंट

WEAVE_ERROR CopyElement(
  TLVReader & reader
)

कॉपीएलिमेंट

WEAVE_ERROR CopyElement(
  uint64_t tag,
  TLVReader & reader
)

डपबाइट

WEAVE_ERROR DupBytes(
  uint8_t *& buf,
  uint32_t & dataLen
)

डपस्ट्रिंग

WEAVE_ERROR DupString(
  char *& buf
)

एंड कंटेनर

WEAVE_ERROR EndContainer(
  TLVType outerContainerType
)

कंटेनर डालें

WEAVE_ERROR EnterContainer(
  TLVType & outerContainerType
)

कंटेनर के एलिमेंट को पढ़ने के लिए, TLVUpdater ऑब्जेक्ट तैयार करता है.

यह आउटपुट TLV में कंटेनर ऑब्जेक्ट के शुरू होने को कोड में भी बदलता है.

Enterकंटेनर() तरीका मौजूदा TLVUpdater ऑब्जेक्ट को TLV कंटेनर (अरे, पाथ या पाथ) के सदस्य एलिमेंट को तैयार करने के लिए तैयार करता है. EnterCONTAINER() ऐप्लिकेशन पर किए जाने वाले हर कॉल के लिए, Exitकंटेनर() से जुड़ा कॉल करना ज़रूरी है.

जब EnterCONTAINER() को TLVUpdater's रीडर कहा जाता है, तो उसे कंटेनर एलिमेंट पर रखना ज़रूरी होता है. इस तरीके को एक TLVType मान के संदर्भ के रूप में लिया जाता है, जिसका इस्तेमाल कंटेनर को पढ़ते समय अपडेटर के संदर्भ को सेव करने के लिए किया जाएगा.

EnterCONTAINER() मैथड में रिटर्न करने वाले को, कंटेनर के पहले सदस्य के पहले अपडेट किया जाता है. बार-बार Next() को कॉल करने पर, अपडेट पूरा होने तक कलेक्शन के सदस्यों के ज़रिए अपडेटर को अपडेट कर दिया जाएगा. इसके बाद, अपडेट करने वाला WEAVE_END_OF_TLV दिखाएगा.

ऐप्लिकेशन में किसी कंटेनर को पढ़ने के बाद, वह ExitCONTAINER() तरीके को कॉल करके, कंटेनर के बाद एलिमेंट को पढ़ना जारी रख सकता है.

जानकारी
पैरामीटर
[out] outerContainerType
TLVType मान का संदर्भ जो अपडेटर का संदर्भ देगा.
सामान लौटाने की वैल्यू
WEAVE_NO_ERROR
अगर तरीका पूरा हो गया हो.
WEAVE_ERROR_INCORRECT_STATE
अगर TLVUpdater रीडर को कंटेनर एलिमेंट पर नहीं रखा गया है.
other
कोई भी Weave या प्लैटफ़ॉर्म गड़बड़ी कोड, जो TLVWriter::StartContainer() या TLVReader::Enterकंटेनर() के ज़रिए वापस किया जाता है.

प्रोग्राम से बाहर निकलें

WEAVE_ERROR ExitContainer(
  TLVType outerContainerType
)

टीएलवी कंटेनर एलिमेंट की रीडिंग को पूरा करता है और टीएलवी आउटपुट में टीएलवी एलिमेंट के आखिरी हिस्से को कोड में बदलता है.

ExitCONTAINER() मैथड से, EnterCONTAINER() पर कॉल करने के बाद, TLVUpdater ऑब्जेक्ट की स्थिति वापस आ जाती है. EnterCONTAINER() ऐप्लिकेशन के हर कॉल के लिए, EnterCONTAINER() तरीके से लौटाए गए कॉन्टेक्स्ट वैल्यू को पास करके, उससे जुड़ा कॉल करना होगा.

जब ExitCONTAINER() फ़ंक्शन रिटर्न होता है, तो TLV इनपुट में कंटेनर के बाद आने वाले पहले एलिमेंट के ठीक पहले, TLVUpdater रीडर की जगह ले ली जाती है. यहां से, ऐप्लिकेशन किसी भी बचे हुए एलिमेंट में जाने के लिए Next() को कॉल कर सकते हैं.

एक बार EnterCONTAINER() को कॉल किए जाने पर, ऐप्लिकेशन किसी भी समय अपडेटर पर ExitCONTAINER() कॉल कर सकते हैं, भले ही दिए गए कंटेनर के सभी एलिमेंट पढ़ लिए गए हों. साथ ही, ध्यान दें कि कंटेनर में सभी एलिमेंट को पढ़ने से पहले ExitCONTAINER() को कॉल करने से, अपडेट किया गया कंटेनर आउटपुट TLV में छोटा हो जाएगा.

जानकारी
पैरामीटर
[in] outerContainerType
TLVType मान जो EnterCONTAINER() तरीके से लौटाया गया था.
सामान लौटाने की वैल्यू
WEAVE_NO_ERROR
अगर तरीका पूरा हो गया हो.
WEAVE_ERROR_TLV_UNDERRUN
अगर उसमें मौजूद टीएलवी एन्कोडिंग समय से पहले खत्म हो गई है.
WEAVE_ERROR_INVALID_TLV_ELEMENT
अगर अपडेट करने वाले टूल में कोई अमान्य या काम न करने वाला टीएलवी एलिमेंट टाइप है.
WEAVE_ERROR_INVALID_TLV_TAG
अगर अपडेट करने वाले व्यक्ति को अमान्य संदर्भ में टीएलवी टैग मिला है.
other
TLVWriter::EndCONTAINER() या TLVReader::ExitCONTAINER() से मिला कोई भी Weave या प्लैटफ़ॉर्म गड़बड़ी कोड.

अंतिम रूप दें

WEAVE_ERROR Finalize(
  void
)

पाएं

WEAVE_ERROR Get(
  bool & v
)

पाएं

WEAVE_ERROR Get(
  int8_t & v
)

पाएं

WEAVE_ERROR Get(
  int16_t & v
)

पाएं

WEAVE_ERROR Get(
  int32_t & v
)

पाएं

WEAVE_ERROR Get(
  int64_t & v
)

पाएं

WEAVE_ERROR Get(
  uint8_t & v
)

पाएं

WEAVE_ERROR Get(
  uint16_t & v
)

पाएं

WEAVE_ERROR Get(
  uint32_t & v
)

पाएं

WEAVE_ERROR Get(
  uint64_t & v
)

पाएं

WEAVE_ERROR Get(
  float & v
)

पाएं

WEAVE_ERROR Get(
  double & v
)

GetBytes

WEAVE_ERROR GetBytes(
  uint8_t *buf,
  uint32_t bufSize
)

Get ब्राउज़रType

TLVType GetContainerType(
  void
) const 

GetDataPtr

WEAVE_ERROR GetDataPtr(
  const uint8_t *& data
)

ImplicitProfileId पाएं

uint32_t GetImplicitProfileId(
  void
)

लंबाई बढ़ाएं

uint32_t GetLength(
  void
) const 

GetLengthपढ़ें

uint32_t GetLengthRead(
  void
) const 

getLength लिखा गया

uint32_t GetLengthWritten(
  void
)

GetReader

void GetReader(
  TLVReader & containerReader
)

FreeLength बाकी है

uint32_t GetRemainingFreeLength(
  void
)

बाकी समय

uint32_t GetRemainingLength(
  void
) const 

पाएं स्ट्रिंग

WEAVE_ERROR GetString(
  char *buf,
  uint32_t bufSize
)

GetTag

uint64_t GetTag(
  void
) const 

GetType

TLVType GetType(
  void
) const 

इनिट

WEAVE_ERROR Init(
  uint8_t *buf,
  uint32_t dataLen,
  uint32_t maxLen
)

एक इनपुट बफ़र में बदलाव करने के लिए, TLVUpdater ऑब्जेक्ट शुरू करें.

इस तरीके का इस्तेमाल करने पर, बफ़र के TLV डेटा को बफ़र के आखिर में भेज दिया जाता है. साथ ही, जगह बदलने वाले इस बफ़र पर निजी TLVReader ऑब्जेक्ट शुरू होता है. निजी TLVWriter ऑब्जेक्ट को भी खाली जगह पर शुरू किया जाता है, जो अब शुरुआत में उपलब्ध है. ऐप्लिकेशन, TLV डेटा को पार्स करने और मौजूदा एलिमेंट में बदलाव करने/मिटाने या कोड में बदलने के लिए नए एलिमेंट जोड़ने के लिए, TLVUpdater ऑब्जेक्ट का इस्तेमाल कर सकते हैं.

जानकारी
पैरामीटर
[in] buf
उस बफ़र की तरफ़ इशारा करने वाला जिसमें बदलाव करने के लिए TLV डेटा है.
[in] dataLen
बफ़र में TLV डेटा की लंबाई.
[in] maxLen
बफ़र की कुल लंबाई.
सामान लौटाने की वैल्यू
WEAVE_NO_ERROR
अगर तरीका पूरा हो गया हो.
WEAVE_ERROR_INVALID_ARGUMENT
अगर बफ़र का पता अमान्य है.
WEAVE_ERROR_BUFFER_TOO_SMALL
अगर बफ़र बहुत छोटा है.

इनिट

WEAVE_ERROR Init(
  TLVReader & aReader,
  uint32_t freeLen
)

TLVReader की मदद से, TLVUpdater ऑब्जेक्ट को शुरू करें.

इस तरीके का इस्तेमाल करने पर, TLB TLVReader के ज़रिए तय किए गए बफ़र का डेटा, पढ़ने के कुल समय से बफ़र के आखिर में चला जाता है. इस नई जगह से, पढ़ने के लिए एक नया निजी TLVReader ऑब्जेक्ट शुरू किया गया है, जबकि एक नए निजी TLVWriter ऑब्जेक्ट को खाली बफ़र बफ़र के साथ लिखने के लिए शुरू किया गया है.

ध्यान दें कि अगर TLVReader को पहले से ही किसी एलिमेंट की पोज़िशन "on" किया गया है, तो वह एलिमेंट की शुरुआत में पहले बैक अप होता है. यह भी ध्यान दें कि बैक अप लेने की सुविधा, कंटेनर के एलिमेंट के साथ अच्छी तरह काम करती है. जैसे, अगर TLVReader का इस्तेमाल, Enterकंटेनर() को कॉल करने के लिए पहले ही किया जा चुका है, तो बैक-ऑफ़ के लिए कुछ भी नहीं है. हालांकि, अगर TLVReader को कंटेनर एलिमेंट पर सेट किया गया था और EnterCONTAINER() को अभी तक कॉल नहीं किया गया था, तो कंटेनर की शुरुआत में TLVReader ऑब्जेक्ट को बैक अप ले लिया जाता है.

रिटर्न करने वाले TLVReader ऑब्जेक्ट को रिटर्न करने से पहले नष्ट कर दिया जाएगा और ऐप्लिकेशन को रिटर्न पर उसी का इस्तेमाल नहीं करना चाहिए.

जानकारी
पैरामीटर
[in,out] aReader
TLVReader ऑब्जेक्ट का रेफ़रंस जिसे लौटाने से पहले ही खत्म कर दिया जाएगा.
[in] freeLen
पहले से एन्कोड किए गए डेटा बफ़र में उपलब्ध खाली जगह (बाइट में).
सामान लौटाने की वैल्यू
WEAVE_NO_ERROR
अगर तरीका पूरा हो गया हो.
WEAVE_ERROR_INVALID_ARGUMENT
अगर बफ़र का पता अमान्य है.
WEAVE_ERROR_NOT_IMPLEMENTED
अगर बफ़र की एक सीरीज़ में रीडर की शुरुआत की गई थी.

एक जगह से दूसरी जगह ले जाना

WEAVE_ERROR Move(
  void
)

मौजूदा एलिमेंट को इनपुट टीएलवी से आउटपुट टीएलवी में कॉपी करता है.

मूव() मैथड में मौजूदा एलिमेंट को कॉपी किया जाता है. जिस एलिमेंट पर TLVUpdater's रीडर होता है उस पर TLVUpdater's राइटर लागू होता है. ऐप्लिकेशन को इस तरीके को कॉल करने से पहले, एलिमेंट पर Next() को और TLVUpdater's रीडर को पोज़िशन करना चाहिए. TLVReader::Next() मैथड की तरह ही, अगर कॉल के समय रीडर को कंटेनर के किसी एलिमेंट पर रखा जाता है, तो कंटेनर के सभी सदस्यों को कॉपी कर लिया जाता है. अगर रीडर को किसी भी एलिमेंट पर पोज़िशन नहीं किया गया है, तो इस तरीके को कॉल करने से कोई बदलाव नहीं होगा.

जानकारी
सामान लौटाने की वैल्यू
WEAVE_NO_ERROR
अगर TLVUpdater रीडर को नए एलिमेंट पर पोज़िशन किया गया है.
WEAVE_END_OF_TLV
अगर TLVUpdater's रीडर में कंटेनर खत्म होने का संकेत है.
WEAVE_ERROR_INVALID_TLV_ELEMENT
अगर TLVIpdater's रीडर को किसी मान्य TLV एलिमेंट पर पोज़िशन नहीं किया गया है.
other
TLVReader::स्किप() तरीके से लौटाए गए दूसरे गड़बड़ी कोड दिखाता है.

मूवट एंड

void MoveUntilEnd(
  void
)

TLVUpdater'के मौजूदा रीड पॉइंट से लेकर इनपुट TLV बफ़र तक, हर चीज़ को आउटपुट में बदलें.

इस तरीके का इस्तेमाल करके, TLVUpdater' के मौजूदा रीड पॉइंट से लेकर बटर के आखिर तक TLVUpdater's के लेखक तक पहुंचा जा सकता है.

आगे बढ़ें

WEAVE_ERROR Next(
  void
)

मौजूदा एलिमेंट को छोड़ें और इनपुट में TLV के अगले एलिमेंट में TLVUpdater ऑब्जेक्ट बढ़ाएं.

Next() मेथड, इनपुट TLV में मौजूदा एलिमेंट को स्किप करके TLVUpdater's रीडर को अगले एलिमेंट में आगे बढ़ा देता है जो उसी कंटेनमेंट के कॉन्टेक्स्ट में मौजूद होता है. खास तौर पर, अगर रीडर को टीएलवी कोड में बदलने के सबसे बाहरी लेवल पर रखा गया है, तो Next() को कॉल करने से यह अगले सबसे ऊपरी एलिमेंट पर पहुंच जाएगा. अगर रीडर को टीएलवी कंटेनर एलिमेंट (कोई स्ट्रक्चर, पाथ या पाथ) में रखा गया है, तो Next() को कॉल करने से, यह कंटेनर के अगले सदस्य एलिमेंट पर पहुंच जाएगा.

Next(), पाठक के मोशन को मौजूदा कंटेनमेंट पर लागू होने से रोकता है. जब रीडर किसी कंटेनर एलिमेंट पर लगा होता है, तो वह Next() को कॉल करने से, कंटेनर पर आगे बढ़ जाता है. ऐसा तब तक होता है, जब तक वह कंटेनर के पहले एलिमेंट पर नहीं चला जाता और उसके किसी एलिमेंट का सदस्य नेस्ट नहीं होता.

जब किसी खास कंटेनेंस के कॉन्टेक्स्ट में कोई और एलिमेंट नहीं होता, तो Next() मेथड WEAVE_END_OF_TLV गड़बड़ी दिखाएगा. साथ ही, रीडर की पोज़िशन में कोई बदलाव नहीं होगा.

जानकारी
सामान लौटाने की वैल्यू
WEAVE_NO_ERROR
अगर TLVUpdater रीडर को नए एलिमेंट पर पोज़िशन किया गया है.
other
TLVReader::स्किप() और TLVReader::Next() मैथड से मिले Weave या प्लैटफ़ॉर्म गड़बड़ी कोड दिखाता है.

डालें

WEAVE_ERROR Put(
  uint64_t tag,
  int8_t v
)

डालें

WEAVE_ERROR Put(
  uint64_t tag,
  int16_t v
)

डालें

WEAVE_ERROR Put(
  uint64_t tag,
  int32_t v
)

डालें

WEAVE_ERROR Put(
  uint64_t tag,
  int64_t v
)

डालें

WEAVE_ERROR Put(
  uint64_t tag,
  uint8_t v
)

डालें

WEAVE_ERROR Put(
  uint64_t tag,
  uint16_t v
)

डालें

WEAVE_ERROR Put(
  uint64_t tag,
  uint32_t v
)

डालें

WEAVE_ERROR Put(
  uint64_t tag,
  uint64_t v
)

डालें

WEAVE_ERROR Put(
  uint64_t tag,
  int8_t v,
  bool preserveSize
)

डालें

WEAVE_ERROR Put(
  uint64_t tag,
  int16_t v,
  bool preserveSize
)

डालें

WEAVE_ERROR Put(
  uint64_t tag,
  int32_t v,
  bool preserveSize
)

डालें

WEAVE_ERROR Put(
  uint64_t tag,
  int64_t v,
  bool preserveSize
)

डालें

WEAVE_ERROR Put(
  uint64_t tag,
  uint8_t v,
  bool preserveSize
)

डालें

WEAVE_ERROR Put(
  uint64_t tag,
  uint16_t v,
  bool preserveSize
)

डालें

WEAVE_ERROR Put(
  uint64_t tag,
  uint32_t v,
  bool preserveSize
)

डालें

WEAVE_ERROR Put(
  uint64_t tag,
  uint64_t v,
  bool preserveSize
)

डालें

WEAVE_ERROR Put(
  uint64_t tag,
  float v
)

डालें

WEAVE_ERROR Put(
  uint64_t tag,
  double v
)

पुटबूलियन

WEAVE_ERROR PutBoolean(
  uint64_t tag,
  bool v
)

पटबाइट

WEAVE_ERROR PutBytes(
  uint64_t tag,
  const uint8_t *buf,
  uint32_t len
)

पुटनल

WEAVE_ERROR PutNull(
  uint64_t tag
)

पटस्ट्रिंग

WEAVE_ERROR PutString(
  uint64_t tag,
  const char *buf
)

पटस्ट्रिंग

WEAVE_ERROR PutString(
  uint64_t tag,
  const char *buf,
  uint32_t len
)

setImplicitProfileId

void SetImplicitProfileId(
  uint32_t profileId
)

TLVUpdater ऑब्जेक्ट के लिए, Implicit प्रोफ़ाइल आईडी सेट करें.

यह तरीका TLVUpdater ऑब्जेक्ट के लिए, इंप्लिसिट प्रोफ़ाइल आईडी सेट करता है. जब अपडेटर से किसी नए एलिमेंट को कोड में बदलने के लिए कहा जाता है, तो नए एलिमेंट से जुड़े टैग का प्रोफ़ाइल आईडी profileId के वैल्यू से मेल खाता है. इसलिए, अपडेट करने वाले टैग को इंप्लिसिट फ़ॉर्म में कोड में बदल देगा. इस वजह से, प्रोसेस में प्रोफ़ाइल का आईडी हट जाएगा.

जानकारी
पैरामीटर
[in] profileId
टैग का प्रोफ़ाइल आईडी, जिसे इंप्लिसिट फ़ॉर्म में एन्कोड किया जाना चाहिए.

स्टार्टकंटेनर

WEAVE_ERROR StartContainer(
  uint64_t tag,
  TLVType containerType,
  TLVType & outerContainerType
)

EndEndOfCONTAINER

WEAVE_ERROR VerifyEndOfContainer(
  void
)