nl::Weave::Profiles::DataManagement_Legacy

इस नेमस्पेस में, Weave डेटा मैनेजमेंट (WDM) प्रोफ़ाइल के लिए वे सभी इंटरफ़ेस शामिल हैं जो बंद होने वाले हैं.

खास जानकारी

इन्यूमरेशन

@103{
  kStatus_CancelSuccess = 0x0001,
  kStatus_InvalidPath = 0x0013,
  kStatus_UnknownTopic = 0x0014,
  kStatus_IllegalReadRequest = 0x0015,
  kStatus_IllegalWriteRequest = 0x0016,
  kStatus_InvalidVersion = 0x0017,
  kStatus_UnsupportedSubscriptionMode = 0x0018
}
enum
@166{
  kViewPoolSize = WEAVE_CONFIG_WDM_VIEW_POOL_SIZE,
  kSubscribePoolSize = WEAVE_CONFIG_WDM_SUBSCRIBE_POOL_SIZE,
  kCancelSubscriptionPoolSize = WEAVE_CONFIG_WDM_CANCEL_SUBSCRIPTION_POOL_SIZE,
  kUpdatePoolSize = WEAVE_CONFIG_WDM_UPDATE_POOL_SIZE,
  kNotifyPoolSize = WEAVE_CONFIG_WDM_NOTIFY_POOL_SIZE,
  kTransactionTableSize = WEAVE_CONFIG_WDM_TRANSACTION_TABLE_SIZE,
  kBindingTableSize = WEAVE_CONFIG_WDM_BINDING_TABLE_SIZE,
  kNotifierTableSize = WEAVE_CONFIG_WDM_NOTIFIER_TABLE_SIZE,
  kSubscriptionMgrTableSize = WEAVE_CONFIG_WDM_SUBSCRIPTION_MGR_TABLE_SIZE
}
enum
डब्ल्यूडीएम पूल और टेबल के साइज़.
@167{
  kMsgType_ViewRequest = 0x10,
  kMsgType_ViewResponse = 0x11,
  kMsgType_SubscribeRequest = 0x12,
  kMsgType_SubscribeResponse = 0x13,
  kMsgType_CancelSubscriptionRequest = 0x14,
  kMsgType_UpdateRequest = 0x15,
  kMsgType_NotifyRequest = 0x16,
  kMsgType_ViewRequest_Deprecated = 0x00,
  kMsgType_ViewResponse_Deprecated = 0x01,
  kMsgType_SubscribeRequest_Deprecated = 0x02,
  kMsgType_SubscribeResponse_Deprecated = 0x03,
  kMsgType_CancelSubscriptionRequest_Deprecated = 0x04,
  kMsgType_UpdateRequest_Deprecated = 0x05,
  kMsgType_NotifyRequest_Deprecated = 0x06
}
enum
डब्ल्यूडीएम प्रोफ़ाइल के मैसेज टाइप.
@168{
  kTransactionIdNotSpecified = 0,
  kResponseTimeoutNotSpecified = 0,
  kVersionNotSpecified = 0xFFFFFFFFFFFFFFFFULL,
  kInstanceIdNotSpecified = 0,
  kDefaultBindingTableIndex = 0,
  kWeaveTLVTagLen = 8,
  kWeaveTLVControlByteLen = 1
}
enum
मिसलेनियस WDM-खास कॉन्सटेंट.
@169{
  kStatus_CancelSuccess = 0x0001,
  kStatus_InvalidPath = 0x0013,
  kStatus_UnknownTopic = 0x0014,
  kStatus_IllegalReadRequest = 0x0015,
  kStatus_IllegalWriteRequest = 0x0016,
  kStatus_InvalidVersion = 0x0017,
  kStatus_UnsupportedSubscriptionMode = 0x0018
}
enum
WDM वाले स्टेटस कोड.
@170{
  kTag_WDMPathList = 100,
  kTag_WDMPathProfile = 101,
  kTag_WDMPathProfileId = 1,
  kTag_WDMPathProfileInstance = 2,
  kTag_WDMPathProfileId_Deprecated = 102,
  kTag_WDMPathProfileInstance_Deprecated = 103,
  kTag_WDMPathArrayIndexSelector = 104,
  kTag_WDMPathArrayValueSelector = 105,
  kTag_WDMDataList = 200,
  kTag_WDMDataListElementPath = 3,
  kTag_WDMDataListElementVersion = 4,
  kTag_WDMDataListElementData = 5,
  kTag_WDMDataListElementPath_Deprecated = 201,
  kTag_WDMDataListElementVersion_Deprecated = 202,
  kTag_WDMDataListElementData_Deprecated = 203
}
enum
डेटा मैनेजमेंट प्रोटोकॉल के टैग.
@171{
  kTopicIdPublisherSpecificMask = 0xFFFF000000000000ULL,
  kTopicIdNotSpecified = 0x0000000000000000ULL,
  kAnyTopicId = 0xFFFFFFFFFFFFFFFFULL
}
enum
लोकप्रिय विषय आईडी.
WeaveTransportOption{
  kTransport_TCP = 1,
  kTransport_WRMP = 2,
  kTransport_UDP = 3
}
enum
डब्ल्यूडीएम यात्रा के विकल्प.

टाइपडिफ़

TopicIdentifier टाइपडिफ़
uint64_t
विषय का आइडेंटिफ़ायर.

फ़ंक्शन

CheckTLVType(nl::Weave::TLV::TLVType aType, nl::Weave::TLV::TLVReader & aReader)
bool
देखें कि पढ़े जा रहे TLV एलिमेंट में, TLV टाइप सही है या नहीं.
CheckWDMTag(uint32_t aTagNum, nl::Weave::TLV::TLVReader & aReader)
bool
WDM वाले टैग को चुनें.
CloseDataListElement(nl::Weave::TLV::TLVReader & aReader)
WDM डेटा सूची के एलिमेंट को पढ़ना बंद करें.
CloseList(nl::Weave::TLV::TLVReader & aReader)
WDM पाथ या डेटा की सूची को पढ़ना बंद करें.
EncodeDeprecatedPath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint64_t & aInstanceId, uint32_t aPathLen, ...)
ऐसे WDM पाथ को कोड में बदलें जिसमें काम न करने वाले टैग और पूर्णांक इंस्टेंस आईडी हो.
EncodeDeprecatedPath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const char *aInstanceId, uint32_t aPathLen, ...)
WDM पाथ को काम न करने वाले टैग और स्ट्रिंग इंस्टेंस आईडी के साथ एन्कोड करें.
EncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint64_t & aInstanceId, uint32_t aPathLen, ...)
WDM पाथ को पूर्णांक प्रोफ़ाइल इंस्टेंस आईडी के साथ एन्कोड करें.
EncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint32_t aInstanceIdLen, const uint8_t *aInstanceId, uint32_t aPathLen, ...)
WDM पाथ को बाइट अरे इंस्टेंस आईडी के साथ एन्कोड करें.
EncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const char *aInstanceId, uint32_t aPathLen, ...)
WDM पाथ को स्ट्रिंग इंस्टेंस आईडी के साथ एन्कोड करें.
EndDataListElement(nl::Weave::TLV::TLVWriter & aWriter)
डेटा सूची में एलिमेंट जोड़ने की प्रोसेस पूरी करें.
EndEncodePath(TLVWriter & aWriter, TLVType & mOuterContainer, WEAVE_ERROR mError)
EndList(nl::Weave::TLV::TLVWriter & aWriter)
पाथ की सूची या डेटा सूची बनाने की प्रक्रिया पूरी करें.
EndList(ReferencedTLVData & aList, nl::Weave::TLV::TLVWriter & aWriter)
पाथ की सूची या डेटा सूची बनाने की प्रक्रिया पूरी करें.
IsPublisherSpecific(const TopicIdentifier & aTopicId)
bool
देखें कि विषय का आईडी, पब्लिशर के लिए है या नहीं.
OpenDataList(ReferencedTLVData & aDataList, nl::Weave::TLV::TLVReader & aReader)
डेटा सूची पढ़ना शुरू करें.
OpenDataListElement(nl::Weave::TLV::TLVReader & aReader, nl::Weave::TLV::TLVReader & aPathReader, uint64_t & aVersion)
डेटा सूची के एलिमेंट को पढ़ना शुरू करें.
OpenPathList(ReferencedTLVData & aPathList, nl::Weave::TLV::TLVReader & aReader)
पाथ की सूची पढ़ना शुरू करें.
PublisherSpecificTopicId(void)
शुरुआत से पब्लिशर के लिए खास विषय आईडी जनरेट करें.
SendStatusReport(ExchangeContext *aExchangeCtx, StatusReport & aStatus)
StartDataList(nl::Weave::TLV::TLVWriter & aWriter)
डेटा सूची लिखना शुरू करें.
StartDataList(ReferencedTLVData & aDataList, nl::Weave::TLV::TLVWriter & aWriter)
दिए गए ReferencedTLVData ऑब्जेक्ट के लिए, डेटा सूची लिखना शुरू करें.
StartDataListElement(nl::Weave::TLV::TLVWriter & aWriter)
डेटा सूची एलिमेंट लिखना शुरू करें.
StartEncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, TLVType & mOuterContainer, TLVType & mPath)
StartPathList(nl::Weave::TLV::TLVWriter & aWriter)
पाथ की सूची लिखना शुरू करें.
TxnResponseHandler(ExchangeContext *anExchangeCtx, const IPPacketInfo *anAddrInfo, const WeaveMessageInfo *aMsgInfo, uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aMsg)
void
TxnTimeoutHandler(ExchangeContext *anExchangeCtx)
void
ValidateTLVType(nl::Weave::TLV::TLVType aType, nl::Weave::TLV::TLVReader & aReader)
पुष्टि करें कि जिस TLV एलिमेंट को पढ़ा जा रहा है उसमें TLV टाइप सही है या नहीं.
ValidateWDMTag(uint32_t aTagNum, nl::Weave::TLV::TLVReader & aReader)
पुष्टि करें कि पढ़े जा रहे TLV एलिमेंट में, उम्मीद के मुताबिक WDM टैग है.

क्लास

nl::Weave::Profiles::DataManagement_Legacy::Binding

Binding क्लास, Weave का इस्तेमाल करके ऐप्लिकेशन की इकाई की ओर से कम्यूनिकेशन की स्थिति को मैनेज करती है.

nl::Weave::Profiles::DataManagement_Legacy::ClientDataManager

एक ऐब्स्ट्रैक्ट क्लास, जिसमें पुष्टि और संकेत देने के उन तरीकों की परिभाषाएं शामिल हैं जो WDM क्लाइंट के लिए ज़रूरी हैं.

nl::Weave::Profiles::DataManagement_Legacy::ClientNotifier

WDM क्लाइंट के लिए, सदस्यता और सूचना से जुड़ी सहायता की ज़रूरत होने पर सहायक क्लास का इस्तेमाल किया जाता है.

nl::Weave::Profiles::DataManagement_Legacy::DMClient

ऐप्लिकेशन के हिसाब से WDM क्लाइंट के लिए ऐब्स्ट्रैक्ट बेस क्लास.

nl::Weave::Profiles::DataManagement_Legacy::DMPublisher

ऐप्लिकेशन के हिसाब से WDM पब्लिशर के लिए ऐब्स्ट्रैक्ट बेस क्लास.

nl::Weave::Profiles::DataManagement_Legacy::ProfileDatabase

ऐब्स्ट्रैक्ट ProfileDatabase सहायक क्लास.

nl::Weave::Profiles::DataManagement_Legacy::ProtocolEngine

डब्ल्यूडीएम प्रोटोकॉल इंजन क्लास.

nl::Weave::Profiles::DataManagement_Legacy::PublisherDataManager

एक ऐब्स्ट्रैक्ट क्लास, जिसमें पुष्टि करने और सूचना देने के तरीके की परिभाषाएं शामिल हैं. इन परिभाषाओं को WDM पब्लिशर के लिए ज़रूरी है.

इन्यूमरेशन

@103

 @103
प्रॉपर्टी
kStatus_CancelSuccess

लेगसी स्टेटस कोड का मतलब है कि कोई सदस्यता रद्द कर दी गई थी.

इस स्थिति कोड का मतलब है कि सदस्यता रद्द कर दी गई थी.

kStatus_IllegalReadRequest

इस लेगसी स्टेटस कोड का मतलब है कि किसी खास डेटा आइटम को पढ़ने का अनुरोध करने वाले नोड के पास, ऐसा करने की अनुमति नहीं है.

इस स्टेटस कोड का मतलब है कि किसी खास डेटा आइटम को पढ़ने का अनुरोध करने वाले नोड को ऐसा करने की अनुमति नहीं है.

kStatus_IllegalWriteRequest

इस लेगसी स्टेटस कोड का मतलब है कि किसी खास डेटा आइटम को लिखने का अनुरोध करने वाले नोड के पास, ऐसा करने की अनुमति नहीं है.

इस स्टेटस कोड का मतलब है कि किसी खास डेटा आइटम को लिखने का अनुरोध करने वाले नोड को ऐसा करने की अनुमति नहीं है.

kStatus_InvalidPath

लेगसी स्टेटस कोड का मतलब है कि व्यू या अपडेट के अनुरोध के फ़्रेम की पाथ सूची में शामिल पाथ, रिस्पॉन्स देने वाले व्यक्ति के नोड रेज़िडेंट स्कीमा से मेल नहीं खाता.

इस स्टेटस कोड का मतलब है कि व्यू या अपडेट के अनुरोध के फ़्रेम की पाथ सूची में मौजूद पाथ, रिस्पॉन्स देने वाले व्यक्ति के नोड रेज़िडेंट स्कीमा से मेल नहीं खाता.

kStatus_InvalidVersion

लेगसी स्टेटस कोड का मतलब है कि अपडेट के अनुरोध में शामिल डेटा का वर्शन, पब्लिशर के सबसे नए वर्शन से मेल नहीं खाता. इसलिए, अपडेट लागू नहीं किया जा सका.

इस स्टेटस कोड का मतलब है कि अपडेट के अनुरोध में शामिल डेटा का वर्शन, पब्लिशर के सबसे नए वर्शन से मेल नहीं खाता. इस वजह से, अपडेट लागू नहीं किया जा सका.

kStatus_UnknownTopic

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

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

kStatus_UnsupportedSubscriptionMode

लेगसी स्टेटस कोड का मतलब है कि जिस डिवाइस पर सदस्यता का अनुरोध किया गया है उसके लिए, अनुरोध करने की सुविधा का इस्तेमाल नहीं किया जा सकता.

इस स्थिति कोड का मतलब है कि सदस्यता का अनुरोध किया गया मोड, पाने वाले डिवाइस पर काम नहीं करता.

@166

 @166

डब्ल्यूडीएम पूल और टेबल के साइज़.

WDM ऐसे कई पूल और टेबल के बारे में बताता है जिनकी ज़रूरत इसके काम करने के लिए होती है. इसके बारे में यहां बताया गया है.

क्लाइंट के ट्रांज़ैक्शन पूल:

  • kViewPoolSize
  • kSubscribePoolSize
  • kCancelSubscriptionPoolSize
  • kUpdatePoolSize

पब्लिशर के लिए ट्रांज़ैक्शन पूल:

  • kNotifyPoolSize

प्रोटोकॉल इंजन टेबल:

  • kTransactionTableSize
  • kBindingTableSize

सदस्यता से जुड़ी टेबल:

  • kNotifierTableSize (सिर्फ़ क्लाइंट)
  • kSubscriptionMgrTableSize (सिर्फ़ पब्लिशर के लिए)

ध्यान दें कि ये कॉन्फ़िगरेशन कॉन्फ़िगर किए जा सकते हैं. साथ ही, हर प्लैटफ़ॉर्म की वैल्यू इनसे जुड़े WeaveConfig.h में दिखती हैं.

प्रॉपर्टी
kBindingTableSize

यह WDM प्रोटोकॉल इंजन में मौजूद बाइंडिंग टेबल का डिफ़ॉल्ट साइज़ है.

इस वैल्यू को WEAVE_CONFIG_WDM_BINDING_TABLE_SIZE की मदद से कॉन्फ़िगर किया जा सकता है.

kCancelSubscriptionPoolSize

यह किसी WDM क्लाइंट के लिए, सदस्यता रद्द करने के अनुरोध वाले ट्रांज़ैक्शन पूल का डिफ़ॉल्ट साइज़ है.

इस वैल्यू को WEAVE_CONFIG_WDM_CANCEL_SUBSCRIPTION_POOL_SIZE की मदद से कॉन्फ़िगर किया जा सकता है.

kNotifierTableSize

यह WDM क्लाइंट के लिए सूचना टेबल का डिफ़ॉल्ट साइज़ होता है.

इस वैल्यू को WEAVE_CONFIG_WDM_NOTIFIER_TABLE_SIZE की मदद से कॉन्फ़िगर किया जा सकता है.

kNotifyPoolSize

यह किसी WDM पब्लिशर के लिए, सूचना के अनुरोध वाले ट्रांज़ैक्शन पूल का डिफ़ॉल्ट साइज़ है.

इस वैल्यू को WEAVE_CONFIG_WDM_NOTIFY_POOL_SIZE की मदद से कॉन्फ़िगर किया जा सकता है.

kSubscribePoolSize

यह डब्ल्यूडीएम क्लाइंट के लिए, सदस्यता लेने के अनुरोध वाले ट्रांज़ैक्शन पूल का डिफ़ॉल्ट साइज़ है.

इस वैल्यू को WEAVE_CONFIG_WDM_SUBSCRIBE_POOL_SIZE की मदद से कॉन्फ़िगर किया जा सकता है.

kSubscriptionMgrTableSize

यह डब्ल्यूडीएम पब्लिशर के लिए, सदस्यता की टेबल का डिफ़ॉल्ट साइज़ है.

इस वैल्यू को WEAVE_CONFIG_WDM_SUBSCRIPTION_MGR_TABLE_SIZE की मदद से कॉन्फ़िगर किया जा सकता है.

kTransactionTableSize

यह WDM प्रोटोकॉल इंजन में मौजूद ट्रांज़ैक्शन टेबल का डिफ़ॉल्ट साइज़ होता है.

इस वैल्यू को WEAVE_CONFIG_WDM_TRANSACTION_TABLE_SIZE की मदद से कॉन्फ़िगर किया जा सकता है.

kUpdatePoolSize

यह किसी WDM क्लाइंट के लिए, अपडेट के अनुरोध वाले ट्रांज़ैक्शन पूल का डिफ़ॉल्ट साइज़ है.

इस वैल्यू को WEAVE_CONFIG_WDM_UPDATE_POOL_SIZE की मदद से कॉन्फ़िगर किया जा सकता है.

kViewPoolSize

यह किसी WDM क्लाइंट के लिए, व्यू के अनुरोध वाले ट्रांज़ैक्शन पूल का डिफ़ॉल्ट साइज़ है.

इस वैल्यू को WEAVE_CONFIG_WDM_VIEW_POOL_SIZE की मदद से कॉन्फ़िगर किया जा सकता है.

@167

 @167

डब्ल्यूडीएम प्रोफ़ाइल के मैसेज टाइप.

ये वैल्यू, डेटा मैनेजमेंट स्पेसिफ़िकेशन में बताई गई हैं.

ध्यान दें!! साल 2015 की पहली तिमाही के हिसाब से, WDM के पिछले वर्शन में इस्तेमाल किए जाने वाले मैसेज टाइप को बंद कर दिया गया है. साथ ही, मैसेज के नए टाइप भी तय किए गए हैं. इससे पता चलता है कि पिछले साल की पैकिंग और पार्स करने की जानकारी में कितना बदलाव हुआ है, ताकि सही तरीके से ब्रेक लिया जा सके.

प्रॉपर्टी
kMsgType_CancelSubscriptionRequest

सदस्यता के अनुरोध को रद्द करने का मैसेज.

kMsgType_CancelSubscriptionRequest_Deprecated

बंद किया गया

kMsgType_NotifyRequest

अनुरोध वाले मैसेज की सूचना दें.

kMsgType_NotifyRequest_Deprecated

बंद किया गया

kMsgType_SubscribeRequest

सदस्यता लेने के अनुरोध का मैसेज.

kMsgType_SubscribeRequest_Deprecated

बंद किया गया

kMsgType_SubscribeResponse

जवाब देने के लिए मैसेज की सदस्यता लें.

kMsgType_SubscribeResponse_Deprecated

बंद किया गया

kMsgType_UpdateRequest

अपडेट के अनुरोध का मैसेज.

kMsgType_UpdateRequest_Deprecated

बंद किया गया

kMsgType_ViewRequest

अनुरोध वाला मैसेज देखें.

kMsgType_ViewRequest_Deprecated

बंद किया गया

kMsgType_ViewResponse

जवाब वाला मैसेज देखें.

kMsgType_ViewResponse_Deprecated

बंद किया गया

@168

 @168

मिसलेनियस WDM-खास कॉन्सटेंट.

प्रॉपर्टी
kDefaultBindingTableIndex

प्रोटोकॉल इंजन बाइंडिंग टेबल में डिफ़ॉल्ट बाइंडिंग का इंडेक्स, जिसमें एक से ज़्यादा एंट्री हैं.

kInstanceIdNotSpecified

प्रोफ़ाइल इंस्टेंस स्पेसिफ़िकेशन की ज़रूरत वाले कॉल के लिए, "कोई नहीं" दिखाता है.

अक्सर इसका मतलब यह होता है कि जिस इकाई की शिकायत की गई है उस पर प्रोफ़ाइल का सिर्फ़ एक इंस्टेंस मौजूद है.

kResponseTimeoutNotSpecified

लेन-देन का अनुरोध करने के तरीकों में, यह बताता है कि कॉल करने वाले (कॉलर) ने टाइम आउट तय करने से मना कर दिया है.

आम तौर पर, इसका मतलब है कि डिफ़ॉल्ट वैल्यू का इस्तेमाल किया जाना चाहिए.

kTransactionIdNotSpecified

ट्रांज़ैक्शन आईडी लेने वाले तरीकों और डेटा स्ट्रक्चर में, "कोई नहीं" का मतलब होता है या वाइल्ड-कार्ड वैल्यू.

kVersionNotSpecified

डेटा वर्शन की खास जानकारी देने वाले कॉल में "कोई खास वर्शन नहीं" दिखता है.

kWeaveTLVControlByteLen

TLV कंट्रोल बाइट की लंबाई, जिसका इस्तेमाल सहायता के ऐसे तरीकों में किया जाता है जो TLV में WDM स्ट्रक्चर को कोड में बदलते हैं.

kWeaveTLVTagLen

पूरी तरह क्वालिफ़ाइड TLV टैग की स्टैंडर्ड लंबाई बाइट में. इसे सहायता के ऐसे तरीकों में इस्तेमाल किया जाता है जो TLV में WDM स्ट्रक्चर को कोड में बदलते हैं.

@169

 @169

WDM वाले स्टेटस कोड.

प्रॉपर्टी
kStatus_CancelSuccess

लेगसी स्टेटस कोड का मतलब है कि कोई सदस्यता रद्द कर दी गई थी.

इस स्थिति कोड का मतलब है कि सदस्यता रद्द कर दी गई थी.

kStatus_IllegalReadRequest

इस लेगसी स्टेटस कोड का मतलब है कि किसी खास डेटा आइटम को पढ़ने का अनुरोध करने वाले नोड के पास, ऐसा करने की अनुमति नहीं है.

इस स्टेटस कोड का मतलब है कि किसी खास डेटा आइटम को पढ़ने का अनुरोध करने वाले नोड को ऐसा करने की अनुमति नहीं है.

kStatus_IllegalWriteRequest

इस लेगसी स्टेटस कोड का मतलब है कि किसी खास डेटा आइटम को लिखने का अनुरोध करने वाले नोड के पास, ऐसा करने की अनुमति नहीं है.

इस स्टेटस कोड का मतलब है कि किसी खास डेटा आइटम को लिखने का अनुरोध करने वाले नोड को ऐसा करने की अनुमति नहीं है.

kStatus_InvalidPath

लेगसी स्टेटस कोड का मतलब है कि व्यू या अपडेट के अनुरोध के फ़्रेम की पाथ सूची में शामिल पाथ, रिस्पॉन्स देने वाले व्यक्ति के नोड रेज़िडेंट स्कीमा से मेल नहीं खाता.

इस स्टेटस कोड का मतलब है कि व्यू या अपडेट के अनुरोध के फ़्रेम की पाथ सूची में मौजूद पाथ, रिस्पॉन्स देने वाले व्यक्ति के नोड रेज़िडेंट स्कीमा से मेल नहीं खाता.

kStatus_InvalidVersion

लेगसी स्टेटस कोड का मतलब है कि अपडेट के अनुरोध में शामिल डेटा का वर्शन, पब्लिशर के सबसे नए वर्शन से मेल नहीं खाता. इसलिए, अपडेट लागू नहीं किया जा सका.

इस स्टेटस कोड का मतलब है कि अपडेट के अनुरोध में शामिल डेटा का वर्शन, पब्लिशर के सबसे नए वर्शन से मेल नहीं खाता. इस वजह से, अपडेट लागू नहीं किया जा सका.

kStatus_UnknownTopic

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

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

kStatus_UnsupportedSubscriptionMode

लेगसी स्टेटस कोड का मतलब है कि जिस डिवाइस पर सदस्यता का अनुरोध किया गया है उसके लिए, अनुरोध करने की सुविधा का इस्तेमाल नहीं किया जा सकता.

इस स्थिति कोड का मतलब है कि सदस्यता का अनुरोध किया गया मोड, पाने वाले डिवाइस पर काम नहीं करता.

@170

 @170

डेटा मैनेजमेंट प्रोटोकॉल के टैग.

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

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

पिछली रिलीज़ में kTag_WDMDataListElementData टैग का इस्तेमाल नहीं किया गया था और कोड ने उसे पूरी तरह से अनदेखा कर दिया था, इसलिए हमें कोई ऐसा वर्शन उपलब्ध नहीं कराना जो अब काम नहीं करता.

प्रॉपर्टी
kTag_WDMDataList

एलिमेंट, उन स्ट्रक्चर की सूची है जिनमें पाथ, वैकल्पिक वर्शन, और डेटा एलिमेंट शामिल हैं.

टैग टाइप: प्रोफ़ाइल से जुड़े एलिमेंट का टाइप: कलेक्शन की स्थिति: टॉप-लेवल

kTag_WDMDataListElementData

एलिमेंट, दिए गए पाथ के हिसाब से और दिए गए वर्शन में बताए गए डेटा को दिखाता है.

टैग टाइप: संदर्भ से जुड़े एलिमेंट का टाइप: कोई भी स्थिति: ज़रूरी

kTag_WDMDataListElementData_Deprecated

समर्थन नहीं होना या रुकना.

टैग टाइप: संदर्भ से जुड़े एलिमेंट का टाइप: कोई भी स्थिति: ज़रूरी

kTag_WDMDataListElementPath

एलिमेंट, डेटा सूची के किसी एलिमेंट का पाथ कॉम्पोनेंट होता है.

टैग टाइप: संदर्भ से जुड़े एलिमेंट का टाइप: पाथ डिस्पोज़िशन: ज़रूरी है

kTag_WDMDataListElementPath_Deprecated

समर्थन नहीं होना या रुकना.

टैग टाइप: प्रोफ़ाइल से जुड़े एलिमेंट का टाइप: पाथ डिस्पोज़िशन: ज़रूरी है

kTag_WDMDataListElementVersion

एलिमेंट, डेटा सूची के एलिमेंट का वर्शन कॉम्पोनेंट है.

टैग टाइप: संदर्भ के हिसाब से एलिमेंट का टाइप: पूर्णांक की स्थिति: ज़रूरी है

kTag_WDMDataListElementVersion_Deprecated

समर्थन नहीं होना या रुकना.

टैग टाइप: प्रोफ़ाइल से जुड़े एलिमेंट का टाइप: पूर्णांक की स्थिति: ज़रूरी है

kTag_WDMPathArrayIndexSelector

पाथ एलिमेंट, स्कीमा में किसी अरे से जुड़ा होता है और उसमें शामिल पूर्णांक एलिमेंट को उस अरे में इंडेक्स के तौर पर इस्तेमाल किया जाना चाहिए.

टैग टाइप: प्रोफ़ाइल से जुड़ा एलिमेंट टाइप: पूर्णांक की स्थिति: ज़रूरी नहीं

kTag_WDMPathArrayValueSelector

पाथ एलिमेंट, स्कीमा में किसी कलेक्शन से जुड़ा होता है और एनकैप्सुलेट किए गए एलिमेंट को रिकॉर्ड सिलेक्टर के तौर पर इस्तेमाल करना होता है.

टैग टाइप: प्रोफ़ाइल से जुड़े एलिमेंट का टाइप: स्ट्रक्चर डिस्पोज़िशन: ज़रूरी नहीं

kTag_WDMPathList

एलिमेंट, TLV पाथ की सूची है.

टैग टाइप: प्रोफ़ाइल से जुड़े एलिमेंट का टाइप: कलेक्शन की स्थिति: टॉप-लेवल

kTag_WDMPathProfile

एलिमेंट एक ऐसी संरचना है जिसका इस्तेमाल पाथ को शुरू करने के लिए किया जाता है. इसमें प्रोफ़ाइल की वह जानकारी होती है जिसके हिसाब से पाथ के टैग का मतलब निकाला जाता है.

टैग टाइप: प्रोफ़ाइल से जुड़े एलिमेंट का टाइप: स्ट्रक्चर डिस्पोज़िशन: ज़रूरी है

kTag_WDMPathProfileId

एलिमेंट, पाथ प्रोफ़ाइल एलिमेंट का प्रोफ़ाइल आईडी कॉम्पोनेंट है, जो TLV पाथ शुरू करता है.

टैग टाइप: संदर्भ के हिसाब से एलिमेंट का टाइप: पूर्णांक की स्थिति: ज़रूरी है

kTag_WDMPathProfileId_Deprecated

समर्थन नहीं होना या रुकना.

टैग टाइप: प्रोफ़ाइल से जुड़े एलिमेंट का टाइप: पूर्णांक की स्थिति: ज़रूरी है

kTag_WDMPathProfileInstance

एलिमेंट एक प्रोफ़ाइल इंस्टेंस है, जो TLV पाथ में प्रोफ़ाइल आईडी को फ़ॉलो कर सकता है.

ध्यान दें कि किसी नोड में किसी खास प्रोफ़ाइल के एक से ज़्यादा उदाहरण हो सकते हैं या नहीं भी हो सकते हैं. अगर सिर्फ़ एक ही मौजूद है, तो यह एलिमेंट हटाया भी जा सकता है.

टैग टाइप: संदर्भ के हिसाब से एलिमेंट का टाइप: कोई भी स्थिति: वैकल्पिक

kTag_WDMPathProfileInstance_Deprecated

समर्थन नहीं होना या रुकना.

टैग टाइप: प्रोफ़ाइल से जुड़े एलिमेंट का टाइप: कोई भी स्थिति: ज़रूरी नहीं

@171

 @171

लोकप्रिय विषय आईडी.

रुचि के तीन अलग-अलग विषय आईडी होते हैं, तीनों को "प्रकाशक के लिए खास" के तौर पर फ़ॉर्मैट किया जाता है.

प्रॉपर्टी
kAnyTopicId

इसे वाइल्ड-कार्ड विषय आईडी के तौर पर रिज़र्व किया गया है.

kTopicIdNotSpecified

यह एक खास वैल्यू है जिसे किसी अमान्य या वाइल्ड-कार्ड विषय का आईडी बताने के लिए रिज़र्व किया गया है.

kTopicIdPublisherSpecificMask

इसका इस्तेमाल मास्क के तौर पर, टॉपसी आईडी बनाने या उसे डीकंपोज़ करने के लिए किया जाता है.

WeaveTransportOption

 WeaveTransportOption

डब्ल्यूडीएम यात्रा के विकल्प.

ये WDM के लिए म्यूचुअली ट्रांसपोर्ट के विकल्प हैं.

प्रॉपर्टी
kTransport_TCP

मुख्य ट्रांसपोर्ट, टीसीपी है.

बाइंडिंग को या तो सेवा मैनेजर का इस्तेमाल करके या सीधे मैसेज लेयर का इस्तेमाल करके पूरा किया जा सकता है.

kTransport_UDP

इसमें मौजूद ट्रांसपोर्ट, खास तौर पर यूडीपी है.

kTransport_WRMP

इसमें मौजूद ट्रांसपोर्ट खास तौर पर यूडीपी है, लेकिन इसमें "ऐप्लिकेशन सपोर्ट लेयर" है विश्वसनीयता बेहतर बनाने की सुविधा मिलती है.

टाइपडिफ़

TopicIdentifier

uint64_t TopicIdentifier

विषय का आइडेंटिफ़ायर.

टॉपिक आइडेंटिफ़ायर 64-बिट वाली क्वांटिटी में होते हैं और इनके दो इस्तेमाल/सिमेंटिक्स होते हैं. सबसे पहले, उनका इस्तेमाल पाथ के किसी जाने-माने सेट के लिए, एक पारंपरिक शॉर्टहैंड की तरह किया जा सकता है, जैसे कि " Nest स्मोक डिटेक्टर". इस तरह से इस्तेमाल किए जाने वाले टॉपिक आईडी, जैसे कि प्रोफ़ाइल आइडेंटिफ़ायर में एक वेंडर कोड शामिल होगा. यह उन विषयों के आईडी को अपने-आप चुनने से रोकता है जिन्हें अलग-अलग वेंडर के बीच टकराव होता है. यहां इसकी जानकारी दी गई है:

बिट 48 - 63 बिट 0 - 47
वेंडर आईडी विषय संख्या
विषय के आइडेंटिफ़ायर के लिए दूसरा इस्तेमाल/सिमेंटिक्स तब आता है, जब डब्ल्यूडीएम क्लाइंट और पब्लिशर के बीच डाइनैमिक सदस्यता का इस्तेमाल होता है. इस मामले में, पब्लिशर को हमेशा विषय का एक यूनीक आईडी देना होगा, जो किसी खास सदस्यता के लिए होता है. उसे यह करना होगा, भले ही सदस्यता का अनुरोध जाने-माने विषय के आईडी का इस्तेमाल करके किया गया हो या फिर आर्बिट्रेरी पाथ सूची का. इस फ़ॉर्म के विषय आइडेंटिफ़ायर, 0xFFFF के वेंडर कोड से पहचाने जाते हैं.

यह भी देखें:
WeaveVendorIdentifiers.hpp

फ़ंक्शन

CheckTLVType

bool CheckTLVType(
  nl::Weave::TLV::TLVType aType,
  nl::Weave::TLV::TLVReader & aReader
)

देखें कि पढ़े जा रहे TLV एलिमेंट में, TLV टाइप सही है या नहीं.

TLV रीडर के ऊपर दिए गए एलिमेंट टाइप के लिए, दिए गए TLV टाइप की जांच करें.

जानकारी
पैरामीटर
[in] aType
किसी एलिमेंट के लिए, TLVType की जांच की जानी है
[in] aReader
एलिमेंट में जांच किए जाने वाले TLV रीडर का रेफ़रंस
लौटाए जाने वाले प्रॉडक्ट
true iff एलिमेंट का TLVType और aType मेल खाता है.
यह भी देखें:
WeaveTLVTypes.h

CheckWDMTag

bool CheckWDMTag(
  uint32_t aTagNum,
  nl::Weave::TLV::TLVReader & aReader
)

WDM वाले टैग को चुनें.

TLV रीडर के ऊपर, .../data-management/DMConstants.h से, असली टैग के सामने दिए गए WDM के खास टैग की संख्या की जांच करें.

जानकारी
पैरामीटर
[in] aTagNum
किसी TLV एलिमेंट के हिसाब से जांचा जाने वाला टैग नंबर.
[in] aReader
TLV रीडर का रेफ़रंस, जो एलिमेंट की जांच किए जाने के बारे में बताता है.
लौटाए जाने वाले प्रॉडक्ट
true iff aReader.GetTag() एक ऐसा टैग बनाता है जो दिए गए टैग नंबर के लिए, अनुमानित टैग फ़ॉर्म में से किसी एक से मेल खाता है.

CloseDataListElement

WEAVE_ERROR CloseDataListElement(
  nl::Weave::TLV::TLVReader & aReader
)

WDM डेटा सूची के एलिमेंट को पढ़ना बंद करें.

इस तरीके में यह माना जाता है कि जिस एलिमेंट की शिकायत की गई है वह WDM डेटा सूची का हिस्सा है और इसलिए यह kTLVType_Array को ExitContainer() में पास करता है.

जानकारी
पैरामीटर
[in,out] aReader
WDM डेटा सूची के एलिमेंट में मौजूद एक TLV रीडर.
लौटाए जाने वाले प्रॉडक्ट
WEAVE_NO_ERROR सफलता पर. अगर ऐसा नहीं है, तो कंटेनर से बाहर निकलने में होने वाली गड़बड़ी दिखाने वाला WEAVE_ERROR दिखाएं.

CloseList

WEAVE_ERROR CloseList(
  nl::Weave::TLV::TLVReader & aReader
)

WDM पाथ या डेटा की सूची को पढ़ना बंद करें.

इस तरीके में यह माना जाता है कि जिस सूची की बात की गई है वह सबसे ऊपर मौजूद TLV एलिमेंट है. इसलिए, यह kTLVType_Sructure को ExitContainer() में पास करता है.

जानकारी
पैरामीटर
[in,out] aReader
WDM पाथ या डेटा सूची में मौजूद एक TLV रीडर.
लौटाए जाने वाले प्रॉडक्ट
WEAVE_NO_ERROR सफलता पर. अगर ऐसा नहीं है, तो कंटेनर से बाहर निकलने में होने वाली गड़बड़ी दिखाने वाला WEAVE_ERROR दिखाएं.

EncodeDeprecatedPath

WEAVE_ERROR EncodeDeprecatedPath(
  TLVWriter & aWriter,
  const uint64_t & aTag,
  uint32_t aProfileId,
  const uint64_t & aInstanceId,
  uint32_t aPathLen,
  ...
)

ऐसे WDM पाथ को कोड में बदलें जिसमें काम न करने वाले टैग और पूर्णांक इंस्टेंस आईडी हो.

ध्यान दें:Weave के रिलीज़ 2.0 से पहले, सेवा के स्वीकार किए गए काम न करने वाले टैग सेट का इस्तेमाल करके पाथ को कोड में बदलें. तरीके के इस वर्शन में, संख्या वाले इंस्टेंस आइडेंटिफ़ायर का इस्तेमाल किया जाता है. यह तरीका ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfile) के साथ एक कंटेनर शुरू करता है और फिर ProfileTag के साथ प्रोफ़ाइल आईडी(kWeaveProfile_WDM, kTag_WDMPathProfileId_Removed) शामिल करता है. इसके बाद यह प्रोफ़ाइलटैग(kWeaveProfile_WDM, kTag_WDMPathProfileInstance_ हल्की) के साथ इंस्टेंस आईडी डाल देता है. पाथ को कोड में बदलने के लिए, यह वर्शन अब काम नहीं करता. नए डिज़ाइन में इस फ़ॉर्मैट का इस्तेमाल नहीं किया जाना चाहिए.

जानकारी
पैरामीटर
[in] aWriter
पाथ लिखने के लिए इस्तेमाल किए जाने वाले TLV राइटर का रेफ़रंस.
[in] aTag
इस पाथ पर लागू होने वाले, पूरी तरह क्वालिफ़ाइड TLV टैग का रेफ़रंस.
[in] aProfileId
वह प्रोफ़ाइल आईडी जिसके तहत पाथ के एलिमेंट का मतलब समझना है.
[in] aInstanceId
इस्तेमाल की जाने वाली प्रोफ़ाइल के वैकल्पिक इंस्टेंस आईडी का रेफ़रंस.
[in] aPathLen
यह 0 हो सकता है. यह शुरुआती प्रोफ़ाइल की जानकारी देने वाले टूल के अलावा, पाथ एलिमेंट की सूची की लंबाई हो सकती है.
[in] ...
अतिरिक्त पाथ टैग की वैरिएबल-अवधि की वैकल्पिक सूची.
लौटाए जाने वाले प्रॉडक्ट
WEAVE_NO_ERROR सफलता पर. अगर ऐसा नहीं है, तो WEAVE_ERROR दिखाता है. इससे पता चलता है कि दिए गए पाथ को फ़ॉर्मैट नहीं किया जा सका.

EncodeDeprecatedPath

WEAVE_ERROR EncodeDeprecatedPath(
  TLVWriter & aWriter,
  const uint64_t & aTag,
  uint32_t aProfileId,
  const char *aInstanceId,
  uint32_t aPathLen,
  ...
)

WDM पाथ को काम न करने वाले टैग और स्ट्रिंग इंस्टेंस आईडी के साथ एन्कोड करें.

ध्यान दें: काम न करने वाले टैग सेट का इस्तेमाल करके पाथ को कोड में बदलें (DMConstants.h देखें). तरीके के इस वर्शन में, इंस्टेंस आईडी स्ट्रिंग इस्तेमाल होती है. यह तरीका ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfile) के साथ एक कंटेनर शुरू करता है और फिर ProfileTag के साथ प्रोफ़ाइल आईडी(kWeaveProfile_WDM, kTag_WDMPathProfileId_Removed) शामिल करता है. इसके बाद यह प्रोफ़ाइलटैग(kWeaveProfile_WDM, kTag_WDMPathProfileInstance_ हल्की) के साथ इंस्टेंस आईडी डाल देता है. पाथ को कोड में बदलने के लिए, यह वर्शन अब काम नहीं करता. नए डिज़ाइन में इस फ़ॉर्मैट का इस्तेमाल नहीं किया जाना चाहिए.

जानकारी
पैरामीटर
[in] aWriter
पाथ लिखने के लिए इस्तेमाल किए जाने वाले TLV राइटर का रेफ़रंस.
[in] aTag
इस पाथ पर लागू होने वाले, पूरी तरह क्वालिफ़ाइड TLV टैग का रेफ़रंस.
[in] aProfileId
वह प्रोफ़ाइल आईडी जिसके तहत पाथ के एलिमेंट का मतलब समझना है.
[in] aInstanceId
प्रोफ़ाइल इंस्टेंस आइडेंटिफ़ायर के तौर पर इस्तेमाल की जाने वाली वैकल्पिक स्ट्रिंग. अगर कोई इंस्टेंस आईडी नहीं दिया गया है, तो यह आर्ग्युमेंट शून्य हो सकता है.
[in] aPathLen
यह 0 हो सकता है. यह शुरुआती प्रोफ़ाइल की जानकारी देने वाले टूल के अलावा, पाथ एलिमेंट की सूची की लंबाई हो सकती है.
[in] ...
अतिरिक्त पाथ टैग की वैकल्पिक, वैरिएबल-अवधि वाली सूची.
लौटाए जाने वाले प्रॉडक्ट
WEAVE_NO_ERROR सफलता पर. अगर ऐसा नहीं है, तो WEAVE_ERROR दिखाता है. इससे पता चलता है कि दिए गए पाथ को फ़ॉर्मैट नहीं किया जा सका.

EncodePath

WEAVE_ERROR EncodePath(
  TLVWriter & aWriter,
  const uint64_t & aTag,
  uint32_t aProfileId,
  const uint64_t & aInstanceId,
  uint32_t aPathLen,
  ...
)

WDM पाथ को पूर्णांक प्रोफ़ाइल इंस्टेंस आईडी के साथ एन्कोड करें.

ध्यान दें: डेटा मैनेजमेंट में इस्तेमाल किए जाने वाले तरीके का TLV पाथ लिखें. यहां खास तौर पर, पाथ एलिमेंट की जानकारी देने के लिए शुरुआत में एक प्रोफ़ाइल तय की जाती है. तरीके के इस वर्शन में, प्रोफ़ाइल के इंस्टेंस आईडी का पूर्णांक होना ज़रूरी है.

यह तरीका, ContextTag(kTag_WDMPathProfileInstance) का इस्तेमाल करके इंस्टेंस आईडी शामिल करता है. पाथ को कोड में बदलने के लिए इसका सबसे नया वर्शन है.

जानकारी
पैरामीटर
[in] aWriter
पाथ लिखने के लिए इस्तेमाल किए जाने वाले TLV राइटर का रेफ़रंस.
[in] aTag
इस पाथ पर लागू होने वाले, पूरी तरह क्वालिफ़ाइड TLV टैग का रेफ़रंस.
[in] aProfileId
वह प्रोफ़ाइल आईडी जिसके तहत पाथ के एलिमेंट का मतलब समझना है.
[in] aInstanceId
इस्तेमाल की जाने वाली प्रोफ़ाइल के वैकल्पिक इंस्टेंस आइडेंटिफ़ायर का रेफ़रंस. अगर किसी भी इंस्टेंस आईडी का इस्तेमाल नहीं करना है, तो इस पैरामीटर की वैल्यू kInstanceIdNotSpecification होना चाहिए.
[in] aPathLen
यह 0 हो सकता है. यह शुरुआती प्रोफ़ाइल की जानकारी देने वाले टूल के अलावा, पाथ एलिमेंट की सूची की लंबाई हो सकती है.
[in] ...
अतिरिक्त पाथ टैग की वैरिएबल-अवधि की वैकल्पिक सूची.
लौटाए जाने वाले प्रॉडक्ट
WEAVE_NO_ERROR सफलता पर. अगर ऐसा नहीं है, तो WEAVE_ERROR दिखाता है. इससे पता चलता है कि दिए गए पाथ को फ़ॉर्मैट नहीं किया जा सका.

EncodePath

WEAVE_ERROR EncodePath(
  TLVWriter & aWriter,
  const uint64_t & aTag,
  uint32_t aProfileId,
  const uint32_t aInstanceIdLen,
  const uint8_t *aInstanceId,
  uint32_t aPathLen,
  ...
)

WDM पाथ को बाइट अरे इंस्टेंस आईडी के साथ एन्कोड करें.

ध्यान दें: डेटा मैनेजमेंट में इस्तेमाल किए जाने वाले तरीके का TLV पाथ लिखें. यहां खास तौर पर, पाथ एलिमेंट की जानकारी देने के लिए शुरुआत में एक प्रोफ़ाइल तय की जाती है. तरीके के इस वर्शन में, लंबाई के साथ बाइट-अरे प्रोफ़ाइल इंस्टेंस आईडी का इस्तेमाल किया जाता है.

यह तरीका, ContextTag(kTag_WDMPathProfileInstance) का इस्तेमाल करके इंस्टेंस आईडी शामिल करता है. पाथ को कोड में बदलने के लिए इसका सबसे नया वर्शन है.

जानकारी
पैरामीटर
[in] aWriter
पाथ लिखने के लिए इस्तेमाल किए जाने वाले TLV राइटर का रेफ़रंस.
[in] aTag
इस पाथ पर लागू होने वाले, पूरी तरह क्वालिफ़ाइड TLV टैग का रेफ़रंस.
[in] aProfileId
वह प्रोफ़ाइल आईडी जिसके तहत पाथ के एलिमेंट का मतलब समझा जाना है.
[in] aInstanceIdLen
बाइट अरे की लंबाई, जिसमें इंस्टेंस आईडी बनाया गया है. अगर कोई आईडी नहीं है, तो इस पैरामीटर की वैल्यू 0 होगी.
[in] aInstanceId
वह वैकल्पिक बाइट अरे जिसका इस्तेमाल प्रोफ़ाइल इंस्टेंस आइडेंटिफ़ायर के तौर पर किया जाता है. ऐसे मामले में जहां कोई इंस्टेंस आईडी नहीं दिया गया है, यह आर्ग्युमेंट शून्य हो सकता है.
[in] aPathLen
यह 0 हो सकता है. यह शुरुआती प्रोफ़ाइल की जानकारी देने वाले टूल के अलावा, पाथ एलिमेंट की सूची की लंबाई हो सकती है.
[in] ...
अतिरिक्त पाथ टैग की वैकल्पिक, वैरिएबल-अवधि वाली सूची.
लौटाए जाने वाले प्रॉडक्ट
WEAVE_NO_ERROR सफलता पर. अगर ऐसा नहीं है, तो WEAVE_ERROR दिखाता है. इससे पता चलता है कि दिए गए पाथ को फ़ॉर्मैट नहीं किया जा सका.

EncodePath

WEAVE_ERROR EncodePath(
  TLVWriter & aWriter,
  const uint64_t & aTag,
  uint32_t aProfileId,
  const char *aInstanceId,
  uint32_t aPathLen,
  ...
)

WDM पाथ को स्ट्रिंग इंस्टेंस आईडी के साथ एन्कोड करें.

ध्यान दें: डेटा मैनेजमेंट में इस्तेमाल किए जाने वाले तरीके का TLV पाथ लिखें. यहां खास तौर पर, पाथ एलिमेंट की जानकारी देने के लिए शुरुआत में एक प्रोफ़ाइल तय की जाती है. तरीके के इस वर्शन में, स्ट्रिंग प्रोफ़ाइल का इंस्टेंस आईडी इस्तेमाल होता है.

यह तरीका, ContextTag(kTag_WDMPathProfileInstance) का इस्तेमाल करके इंस्टेंस आईडी शामिल करता है. पाथ को कोड में बदलने के लिए इसका सबसे नया वर्शन है.

जानकारी
पैरामीटर
[in] aWriter
पाथ लिखने के लिए इस्तेमाल किए जाने वाले TLV राइटर का रेफ़रंस.
[in] aTag
इस पाथ पर लागू होने वाले, पूरी तरह क्वालिफ़ाइड TLV टैग का रेफ़रंस.
[in] aProfileId
वह प्रोफ़ाइल आईडी जिसके तहत पाथ के एलिमेंट का मतलब समझना है.
[in] aInstanceId
प्रोफ़ाइल इंस्टेंस आइडेंटिफ़ायर के तौर पर इस्तेमाल की जाने वाली वैकल्पिक स्ट्रिंग. अगर कोई इंस्टेंस आईडी नहीं दिया गया है, तो यह आर्ग्युमेंट शून्य हो सकता है.
[in] aPathLen
यह 0 हो सकता है. यह शुरुआती प्रोफ़ाइल की जानकारी देने वाले टूल के अलावा, पाथ एलिमेंट की सूची की लंबाई हो सकती है.
[in] ...
अतिरिक्त पाथ टैग की वैकल्पिक, वैरिएबल-अवधि वाली सूची.
लौटाए जाने वाले प्रॉडक्ट
WEAVE_NO_ERROR सफलता पर. अगर ऐसा नहीं है, तो WEAVE_ERROR दिखाता है. इससे पता चलता है कि दिए गए पाथ को फ़ॉर्मैट नहीं किया जा सका.

EndDataListElement

WEAVE_ERROR EndDataListElement(
  nl::Weave::TLV::TLVWriter & aWriter
)

डेटा सूची में एलिमेंट जोड़ने की प्रोसेस पूरी करें.

WDM डेटा सूची के एलिमेंट के आखिर में TLV लिखें. ध्यान रखें कि यह तरीका, EndContainer() कॉल के लिए kTLVType_Array में, अपने-आप पास हो जाता है. इसके लिए, यह माना जाता है कि हम किसी सूची आइटम को हमेशा बंद करते हैं.

जानकारी
पैरामीटर
[in] aWriter
TLV राइटर के लिए रेफ़रंस, जिससे आइटम के आखिर में लिखना है.
लौटाए जाने वाले प्रॉडक्ट
WEAVE_NO_ERROR सफलता पर. अगर ऐसा नहीं है, तो एक WEAVE_ERROR दिखाएं. यह दिखाता है कि कंटेनर खत्म नहीं हो पा रहा है.

EndEncodePath

WEAVE_ERROR EndEncodePath(
  TLVWriter & aWriter,
  TLVType & mOuterContainer,
  WEAVE_ERROR mError
)

EndList

WEAVE_ERROR EndList(
  nl::Weave::TLV::TLVWriter & aWriter
)

पाथ की सूची या डेटा सूची बनाने की प्रक्रिया पूरी करें.

WDM पाथ या डेटा सूची के आखिर में TLV लिखें. साथ ही, लेखक का नाम तय करें.

जानकारी
पैरामीटर
[in,out] aWriter
TLV राइटर के बारे में रेफ़रंस, जिसके साथ सूची के आखिर में लिखना है.
लौटाए जाने वाले प्रॉडक्ट
WEAVE_NO_ERROR सफलता पर. अगर ऐसा नहीं है, तो एक WEAVE_ERROR दिखाएं. यह दिखाता है कि कंटेनर खत्म नहीं हो पा रहा है.

EndList

WEAVE_ERROR EndList(
  ReferencedTLVData & aList,
  nl::Weave::TLV::TLVWriter & aWriter
)

पाथ की सूची या डेटा सूची बनाने की प्रक्रिया पूरी करें.

WDM पाथ या डेटा सूची के आखिर में TLV लिखें. साथ ही, लेखक का नाम तय करें. इस मामले में, जिस ReferencedTLVData ऑब्जेक्ट को TLV लिखा जा रहा है उसे पास किया जाता है और लिखे गए डेटा को दिखाने के लिए बदला जाता है.

जानकारी
पैरामीटर
[in,out] aList
ReferenceTLVData ऑब्जेक्ट का रेफ़रंस, जिसके लिए सूची लिखी जा रही थी.
[in] aWriter
TLV राइटर के बारे में रेफ़रंस, जिसके साथ सूची के आखिर में लिखना है.
लौटाए जाने वाले प्रॉडक्ट
WEAVE_NO_ERROR सफलता पर. अगर ऐसा नहीं है, तो एक WEAVE_ERROR दिखाएं. यह दिखाता है कि कंटेनर खत्म नहीं हो पा रहा है.

IsPublisherSpecific

bool IsPublisherSpecific(
  const TopicIdentifier & aTopicId
)

देखें कि विषय का आईडी, पब्लिशर के लिए है या नहीं.

जानकारी
पैरामीटर
[in] aTopicId
विषय के बारे में बताने वाला ऐप्लिकेशन
लौटाए जाने वाले प्रॉडक्ट
अगर विषय का आईडी, पब्लिशर के लिए है, तो गलत है

OpenDataList

WEAVE_ERROR OpenDataList(
  ReferencedTLVData & aDataList,
  nl::Weave::TLV::TLVReader & aReader
)

डेटा सूची पढ़ना शुरू करें.

नए पाठकों और डेटा सूची को ध्यान में रखते हुए, सूची को पढ़ना शुरू करें. साथ ही, इस प्रक्रिया में शुरुआत में मिले टैग और टाइप की पुष्टि करें. अगर सब ठीक रहता है, तो सूची का कंटेनर डालने के बाद रीडर रुक जाता है.

जानकारी
पैरामीटर
[in] aDataList
वह डेटा सूची जिसे ReferencedTLVData ऑब्जेक्ट के रेफ़रंस के तौर पर पास किया जाता है. सामान्य उपयोग का उदाहरण वहां होगा जहां सूची प्राप्त होने के बाद भी वह बफ़र में हो.
[out] aReader
डेटा सूची को पढ़ने के लिए, TLV रीडर के बारे में जानकारी. इस रीडर को सूची में पहले आइटम के ठीक पहले पॉइंट किया जाएगा.
लौटाए जाने वाले प्रॉडक्ट
WEAVE_NO_ERROR सफलता पर. अगर ऐसा नहीं है, तो डेटा सूची खोलने और/या सही टैग और टाइप की पुष्टि करने में गड़बड़ी दिखाने वाला WEAVE_ERROR दिखाएं.

OpenDataListElement

WEAVE_ERROR OpenDataListElement(
  nl::Weave::TLV::TLVReader & aReader,
  nl::Weave::TLV::TLVReader & aPathReader,
  uint64_t & aVersion
)

डेटा सूची के एलिमेंट को पढ़ना शुरू करें.

डेटा सूची के एलिमेंट में मौजूद रीडर को देखते हुए, एलिमेंट को पढ़ना शुरू करें. साथ ही, इस प्रोसेस के दौरान शुरुआत में मिले टैग और टाइप की पुष्टि करें. अगर सब ठीक रहता है, तो रीडर डेटा एलिमेंट के डेटा पर सेट हो जाता है और इन/आउट पाथ रीडर को उससे जुड़े पाथ पर रखा जाता है.

जानकारी
पैरामीटर
[in] aReader
डेटा सूची के एलिमेंट में मौजूद TLV रीडर के बारे में जानकारी.
[out] aPathReader
TLV रीडर का रेफ़रंस, जिसे डेटा सूची के एलिमेंट के पाथ कॉम्पोनेंट की ओर इशारा किया जाता है.
[out] aVersion
64-बिट पूर्णांक का रेफ़रंस, जो डेटा सूची के एलिमेंट वर्शन के मौजूद होने पर उस पर या kVersionNotSpecification पर सेट किया जाना है.
लौटाए जाने वाले प्रॉडक्ट
सफलता पाने पर WEAVE_NO_ERROR या डेटा सूची के एलिमेंट को खोलने और पढ़ने से जुड़ा WEAVE_ERROR.

OpenPathList

WEAVE_ERROR OpenPathList(
  ReferencedTLVData & aPathList,
  nl::Weave::TLV::TLVReader & aReader
)

पाथ की सूची पढ़ना शुरू करें.

नए पाठक और पाथ की सूची दें, तो सूची को पढ़ना शुरू करें. साथ ही, इस प्रक्रिया के दौरान शुरुआत में मिले टैग और टाइप की पुष्टि करें. अगर सब ठीक रहता है, तो सूची का कंटेनर डालने के बाद रीडर रुक जाता है.

जानकारी
पैरामीटर
[in] aPathList
पाथ की सूची, जिसे ReferencedTLVData ऑब्जेक्ट के रेफ़रंस के तौर पर पास किया जाता है. सामान्य उपयोग का उदाहरण वहां होगा जहां सूची प्राप्त होने के बाद भी वह बफ़र में हो.
[out] aReader
पाथ की सूची को पढ़ने के लिए, TLV रीडर का रेफ़रंस. इस रीडर को सूची में पहले पाथ के ठीक पहले पॉइंट किया जाएगा.
लौटाए जाने वाले प्रॉडक्ट
सफलता मिलने पर WEAVE_NO_ERROR; ऐसा नहीं होता है, तो पाथ सूची खोलने और/या काम के टैग और टाइप की पुष्टि करने में गड़बड़ी दिखाने वाला WEAVE_ERROR.

PublisherSpecificTopicId

TopicIdentifier PublisherSpecificTopicId(
  void
)

शुरुआत से पब्लिशर के लिए खास विषय आईडी जनरेट करें.

जानकारी
लौटाए जाने वाले प्रॉडक्ट
नए विषय का आइडेंटिफ़ायर होता है.

SendStatusReport

WEAVE_ERROR SendStatusReport(
  ExchangeContext *aExchangeCtx,
  StatusReport & aStatus
)

StartDataList

WEAVE_ERROR StartDataList(
  nl::Weave::TLV::TLVWriter & aWriter
)

डेटा सूची लिखना शुरू करें.

डब्ल्यूडीएम डेटा सूची की शुरुआत के लिए TLV लिखें, उदाहरण के लिए एक UpdateRequest() के प्राइमरी आर्ग्युमेंट के तौर पर.

जानकारी
पैरामीटर
[in] aWriter
किसी TLV राइटर के बारे में बताने के लिए, जिससे लिखना है.
लौटाए जाने वाले प्रॉडक्ट
WEAVE_NO_ERROR सफलता पर. अगर ऐसा नहीं है, तो एक WEAVE_ERROR दिखाएं. इससे कंटेनर शुरू नहीं हो पाएगा.

StartDataList

WEAVE_ERROR StartDataList(
  ReferencedTLVData & aDataList,
  nl::Weave::TLV::TLVWriter & aWriter
)

दिए गए ReferencedTLVData ऑब्जेक्ट के लिए, डेटा सूची लिखना शुरू करें.

WDM डेटा सूची की शुरुआत के लिए TLV लिखें. इस मामले में, हमें लगता है कि हम डेटा सूची को, रेफ़रंस के तौर पर दिए गए TLV डेटा स्ट्रक्चर में लिख रहे हैं. यह माना जाता है कि राइटर शुरू नहीं हुआ है - या, किसी भी स्थिति में, दिए गए ऑब्जेक्ट पर ले जाने के लिए शुरू किया जाएगा.

जानकारी
पैरामीटर
[out] aDataList
किसी ReferencedTLVData ऑब्जेक्ट का रेफ़रंस, जो लेखक का टारगेट होता है और इसमें पसंद का डेटा शामिल होता है.
[in] aWriter
किसी TLV राइटर के बारे में बताने के लिए, जिससे लिखना है.
लौटाए जाने वाले प्रॉडक्ट
WEAVE_NO_ERROR सफलता पर. अगर ऐसा नहीं है, तो एक WEAVE_ERROR दिखाएं. इससे कंटेनर शुरू नहीं हो पाएगा.

StartDataListElement

WEAVE_ERROR StartDataListElement(
  nl::Weave::TLV::TLVWriter & aWriter
)

डेटा सूची एलिमेंट लिखना शुरू करें.

WDM डेटा सूची के एलिमेंट की शुरुआत के लिए TLV लिखें.

जानकारी
पैरामीटर
[in] aWriter
किसी TLV राइटर के बारे में बताने के लिए, जिससे लिखना है.
लौटाए जाने वाले प्रॉडक्ट
WEAVE_NO_ERROR सफलता पर. अगर ऐसा नहीं है, तो एक WEAVE_ERROR दिखाएं. इससे कंटेनर शुरू नहीं हो पाएगा.

StartEncodePath

WEAVE_ERROR StartEncodePath(
  TLVWriter & aWriter,
  const uint64_t & aTag,
  uint32_t aProfileId,
  TLVType & mOuterContainer,
  TLVType & mPath
)

StartPathList

WEAVE_ERROR StartPathList(
  nl::Weave::TLV::TLVWriter & aWriter
)

पाथ की सूची लिखना शुरू करें.

WDM पाथ सूची की शुरुआत के लिए TLV लिखें, उदाहरण के लिए ViewRequest() के प्राइमरी आर्ग्युमेंट के तौर पर.

जानकारी
पैरामीटर
[in] aWriter
किसी TLV राइटर के बारे में बताने के लिए, जिससे लिखना है.
लौटाए जाने वाले प्रॉडक्ट
WEAVE_NO_ERROR सफलता पर. अगर ऐसा नहीं है, तो एक WEAVE_ERROR दिखाएं. इससे कंटेनर शुरू नहीं हो पाएगा.

TxnResponseHandler

void TxnResponseHandler(
  ExchangeContext *anExchangeCtx,
  const IPPacketInfo *anAddrInfo,
  const WeaveMessageInfo *aMsgInfo,
  uint32_t aProfileId,
  uint8_t aMsgType,
  PacketBuffer *aMsg
)

TxnTimeoutHandler

void TxnTimeoutHandler(
  ExchangeContext *anExchangeCtx
)

ValidateTLVType

WEAVE_ERROR ValidateTLVType(
  nl::Weave::TLV::TLVType aType,
  nl::Weave::TLV::TLVReader & aReader
)

पुष्टि करें कि जिस TLV एलिमेंट को पढ़ा जा रहा है उसमें TLV टाइप सही है या नहीं.

TLV रीडर के ऊपर दिए गए एलिमेंट टाइप के लिए, दिए गए TLV टाइप को जांचें. अगर मिलता-जुलता कोई एलिमेंट नहीं है, तो गड़बड़ी का मैसेज दिखाएं.

जानकारी
पैरामीटर
[in] aType
किसी एलिमेंट के लिए, TLVType की पुष्टि की जानी है.
[in] aReader
एलिमेंट में TLV रीडर का रेफ़रंस, जिसकी पुष्टि की जानी है.
लौटाए जाने वाले प्रॉडक्ट
अगर कोई मैच है, तो WEAVE_NO_ERROR या अगर नहीं है, तो WEAVE_ERROR_WRONG_TLV_TYPE.
यह भी देखें:
WeaveTLVTypes.h

ValidateWDMTag

WEAVE_ERROR ValidateWDMTag(
  uint32_t aTagNum,
  nl::Weave::TLV::TLVReader & aReader
)

पुष्टि करें कि पढ़े जा रहे TLV एलिमेंट में, उम्मीद के मुताबिक WDM टैग है.

जानकारी
पैरामीटर
[in] aTagNum
अपेक्षित WDM टैग का 32-बिट टैग नंबर.
[in] aReader
एलिमेंट में TLV रीडर की पोज़िशन, जिसकी पुष्टि की जानी है.
लौटाए जाने वाले प्रॉडक्ट
WEAVE_NO_ERROR सफलता पर. अगर ऐसा नहीं है, तो WEAVE_ERROR_INVALID_TLV_TAG, अगर WDM टैग के रूप में समझा जाने वाला टैग दिए गए टैग नंबर से मेल नहीं खाता है.