nl:: Weave:: TLV
Weave TLV फ़ॉर्मैट में एन्कोड किए गए डेटा के साथ काम करने की परिभाषाएं.
खास जानकारी
Weave TLV, सामान्य स्ट्रक्चर्ड डेटा के लिए कोड में बदलने का एक सामान्य तरीका है. यह आम तौर पर इस्तेमाल किए जाने वाले JSON को क्रम में लगाने वाले फ़ॉर्मैट के साथ कई प्रॉपर्टी शेयर करता है. हालांकि, यह वायर के मुकाबले काफ़ी छोटा होता है.
इन्यूमरेशन |
|
---|---|
@71
|
enum |
@73
|
enum |
@74{
|
enum |
@75
|
enum |
TLVCommonProfiles{
|
enum |
TLVElementType
|
enum |
TLVFieldSize
|
enum |
TLVTagControl
|
enum |
TLVTagFields
|
enum |
TLVType
|
enum TLV एलिमेंट के टाइप की पहचान करने वाली गिनती. |
वैरिएबल |
|
---|---|
kWeaveTLVCopyChunkSize = 16
|
const size_t
किसी TLV एलिमेंट को रीडर ऑब्जेक्ट से राइटर में कॉपी करता है.
|
sTagSizes = { 0, 1, 2, 4, 2, 4, 6, 8 }[]
|
const uint8_t
|
फ़ंक्शन |
|
---|---|
CommonTag(uint32_t tagNum)
|
uint64_t
यह एक सामान्य प्रोफ़ाइल TLV टैग का एपीआई जनरेट करता है.
|
ContextTag(uint8_t tagNum)
|
uint64_t
यह कॉन्टेक्स्ट के हिसाब से TLV टैग के लिए, एपीआई को दिखाता है.
|
GetTLVFieldSize(uint8_t type)
|
TLVFieldSize
|
IsContextTag(uint64_t tag)
|
bool
अगर दिया गया टैग, किसी कॉन्टेक्स्ट के हिसाब से बना टैग है, तो 'सही' दिखाता है.
|
IsProfileTag(uint64_t tag)
|
bool
दिए गए टैग का सही जवाब, प्रोफ़ाइल से जुड़ा टैग होता है.
|
IsSpecialTag(uint64_t tag)
|
bool
|
IsValidTLVType(uint8_t type)
|
bool
अगर बताया गया TLV टाइप मान्य है, तो 'सही' दिखाता है.
|
ProfileIdFromTag(uint64_t tag)
|
uint32_t
यह विकल्प TLV टैग से प्रोफ़ाइल आईडी दिखाता है.
|
ProfileNumFromTag(uint64_t tag)
|
uint16_t
यह फ़ंक्शन किसी TLV टैग से प्रोफ़ाइल नंबर दिखाता है.
|
ProfileTag(uint32_t profileId, uint32_t tagNum)
|
uint64_t
यह विकल्प, किसी प्रोफ़ाइल आईडी और टैग नंबर से, प्रोफ़ाइल के हिसाब से TLV टैग को एपीआई के तौर पर जनरेट करता है.
|
ProfileTag(uint16_t vendorId, uint16_t profileNum, uint32_t tagNum)
|
uint64_t
किसी वेंडर आईडी, प्रोफ़ाइल नंबर, और टैग नंबर से, प्रोफ़ाइल के हिसाब से TLV टैग को एपीआई के तौर पर जनरेट करता है.
|
TLVFieldSizeToBytes(TLVFieldSize fieldSize)
|
uint8_t
|
TLVTypeHasLength(uint8_t type)
|
bool
अगर बताया गया TLV टाइप, संबंधित लंबाई वाले फ़ील्ड की मौजूदगी का दावा करता है, तो 'सही' दिखाता है.
|
TLVTypeHasValue(uint8_t type)
|
bool
अगर बताया गया TLV टाइप, संबंधित वैल्यू फ़ील्ड की मौजूदगी का दावा करता है, तो 'सही' दिखाता है.
|
TLVTypeIsContainer(uint8_t type)
|
bool
अगर बताया गया TLV टाइप एक कंटेनर है, तो 'सही' दिखाता है.
|
TLVTypeIsString(uint8_t type)
|
bool
अगर दिया गया TLV टाइप UTF8 या बाइट स्ट्रिंग है, तो 'सही' दिखाता है.
|
TagNumFromTag(uint64_t tag)
|
uint32_t
यह विकल्प, TLV टैग से टैग नंबर दिखाता है.
|
VendorIdFromTag(uint64_t tag)
|
uint16_t
यह विकल्प TLV टैग से वेंडर आईडी दिखाता है.
|
क्लास |
|
---|---|
nl:: |
|
nl:: |
|
nl:: |
Weave TLV फ़ॉर्मैट में एन्कोड किए गए डेटा के लिए एक मेमोरी कुशल पार्सर देता है. |
nl:: |
इससे TLV एन्कोडिंग में एलिमेंट में बदलाव करने/जोड़ने/मिटाने के लिए एक यूनिफ़ाइड रीडर/राइटर इंटरफ़ेस मिलता है. |
nl:: |
यह Weave TLV फ़ॉर्मैट में डेटा लिखने के लिए, एक मेमोरी एफ़िशिएंट एन्कोडर उपलब्ध कराता है. |
nl:: |
WeaveCircularTLVBuffer nl::Weave::TLV::TLVWriter और nl::Weave::TLVTLVReader के लिए सर्कुलर स्टोरेज उपलब्ध कराते हैं. |
नाम स्थान |
|
---|---|
nl:: |
इस नेमस्पेस में, Weave TLV को डीबग और लॉग करने के लिए टाइप और इंटरफ़ेस शामिल हैं. |
nl:: |
इस नेमस्पेस में टाइप और यूटिलिटी इंटरफ़ेस शामिल हैं. इनकी मदद से, Weave TLV को मैनेज किया जा सकता है और उनके साथ काम किया जा सकता है. |
इन्यूमरेशन
@71
@71
@73
@73
@74
@74
प्रॉपर्टी | |
---|---|
AnonymousTag
|
एक TLV एलिमेंट दिखाने वाली वैल्यू, जिसमें कोई टैग नहीं है (जैसे, एक अनाम एलिमेंट). |
@75
@75
TLVCommonProfiles
TLVCommonProfiles
प्रॉपर्टी | |
---|---|
kProfileIdNotSpecified
|
इसका इस्तेमाल यह बताने के लिए किया जाता है कि किसी वैरिएबल या सदस्य में प्रोफ़ाइल आईडी मौजूद नहीं है. यह ठीक वैसे ही है जैसा WeaveProfiles.h में kWeaveProfile_Not गाड़ी के बारे में बताया गया है |
TLVElementType
TLVElementType
TLVFieldSize
TLVFieldSize
TLVTagControl
TLVTagControl
TLVTagFields
TLVTagFields
वैरिएबल
kWeaveTLVCopyChunkSize
const size_t kWeaveTLVCopyChunkSize = 16
किसी TLV एलिमेंट को रीडर ऑब्जेक्ट से राइटर में कॉपी करता है.
CopyElement() वाला तरीका, एक नए TLV एलिमेंट को कोड में बदलता है, जिसका टाइप और वैल्यू TLVReader ऑब्जेक्ट से ली जाती है. जब तरीके को कॉल किया जाता है, तो दिए गए रीडर ऑब्जेक्ट को सोर्स TLV एलिमेंट पर रखा जाना चाहिए. कोड में बदले गए नए एलिमेंट का टाइप और कॉन्टेंट, इनपुट कंटेनर जैसा ही होगा. हालांकि, टैग को बताए गए आर्ग्युमेंट पर सेट किया जाएगा. अगर दिया गया एलिमेंट कोई TLV कंटेनर (स्ट्रक्चर, अरे या पाथ) है, तो कंटेनर का पूरा कॉन्टेंट कॉपी हो जाएगा.
ब्यौरा | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||||||||||||||
रिटर्न वैल्यू |
|
sTagSizes
const uint8_t sTagSizes[] = { 0, 1, 2, 4, 2, 4, 6, 8 }
फ़ंक्शन
CommonTag
uint64_t CommonTag( uint32_t tagNum )
यह एक सामान्य प्रोफ़ाइल TLV टैग का एपीआई जनरेट करता है.
ब्यौरा | |||
---|---|---|---|
पैरामीटर |
|
||
लौटाए जाने वाले प्रॉडक्ट |
टैग को दिखाने वाला 64-बिट वाला पूर्णांक.
|
ContextTag
uint64_t ContextTag( uint8_t tagNum )
यह कॉन्टेक्स्ट के हिसाब से TLV टैग के लिए, एपीआई को दिखाता है.
ब्यौरा | |||
---|---|---|---|
पैरामीटर |
|
||
लौटाए जाने वाले प्रॉडक्ट |
टैग को दिखाने वाला 64-बिट वाला पूर्णांक.
|
GetTLVFieldSize
TLVFieldSize GetTLVFieldSize( uint8_t type )
IsContextTag
bool IsContextTag( uint64_t tag )
अगर दिया गया टैग, किसी कॉन्टेक्स्ट के हिसाब से बना टैग है, तो 'सही' दिखाता है.
IsProfileTag
bool IsProfileTag( uint64_t tag )
दिए गए टैग का सही जवाब, प्रोफ़ाइल से जुड़ा टैग होता है.
IsSpecialTag
bool IsSpecialTag( uint64_t tag )
IsValidTLVType
bool IsValidTLVType( uint8_t type )
ProfileIdFromTag
uint32_t ProfileIdFromTag( uint64_t tag )
ProfileNumFromTag
uint16_t ProfileNumFromTag( uint64_t tag )
ProfileTag
uint64_t ProfileTag( uint32_t profileId, uint32_t tagNum )
यह विकल्प, किसी प्रोफ़ाइल आईडी और टैग नंबर से, प्रोफ़ाइल के हिसाब से TLV टैग को एपीआई के तौर पर जनरेट करता है.
ब्यौरा | |||||
---|---|---|---|---|---|
पैरामीटर |
|
||||
लौटाए जाने वाले प्रॉडक्ट |
टैग को दिखाने वाला 64-बिट वाला पूर्णांक.
|
ProfileTag
uint64_t ProfileTag( uint16_t vendorId, uint16_t profileNum, uint32_t tagNum )
किसी वेंडर आईडी, प्रोफ़ाइल नंबर, और टैग नंबर से, प्रोफ़ाइल के हिसाब से TLV टैग को एपीआई के तौर पर जनरेट करता है.
ब्यौरा | |||||||
---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||
लौटाए जाने वाले प्रॉडक्ट |
टैग को दिखाने वाला 64-बिट वाला पूर्णांक.
|
TLVFieldSizeToBytes
uint8_t TLVFieldSizeToBytes( TLVFieldSize fieldSize )
TLVTypeHasLength
bool TLVTypeHasLength( uint8_t type )
TLVTypeHasValue
bool TLVTypeHasValue( uint8_t type )
TLVTypeIsContainer
bool TLVTypeIsContainer( uint8_t type )
TLVTypeIsString
bool TLVTypeIsString( uint8_t type )
TagNumFromTag
uint32_t TagNumFromTag( uint64_t tag )
यह विकल्प, TLV टैग से टैग नंबर दिखाता है.
ब्यौरा | |||
---|---|---|---|
पैरामीटर |
|
||
लौटाए जाने वाले प्रॉडक्ट |
जुड़ा हुआ टैग नंबर.
|
IsProfileTag() और IsContextTag()