nl:: बुना::प्रोफ़ाइलें::DataManagement_Legacy::DMPublisher

#include <src/lib/profiles/data-management/Legacy/DMPublisher.h>

ऐप्लिकेशन-विशिष्ट WDM प्रकाशकों के लिए संक्षेप में आधार श्रेणी.

खास जानकारी

DMPublisher, स्टैंडर्ड डब्ल्यूडीएम प्रकाशक बेस क्लास है. यह DM (प्रोटोकॉल इंजन क्लास का मिला-जुला रूप होता है. यह कम्यूनिकेशन के काम करने के तरीके और पूरी तरह से PublisherDataManager क्लास को मैनेज करता है. सदस्यता और सूचना के लिए सहायता ज़रूरी नहीं हैं. इनमें, बिना किसी एंट्री के सदस्यता टेबल को कॉन्फ़िगर करना बंद किया जा सकता है.

इनहेरिटेंस

यहां से इनहेरिट किया जाता है:
nl::Weave::Profiles::DataManagement_Legacy::ProtocolEngine
nl::Weave::Profiles::DataManagement_Legacy::PublisherDataManager

कंस्ट्रक्टर और कंस्ट्रक्टर

DMPublisher(void)
DMPublisher ऑब्जेक्ट के लिए डिफ़ॉल्ट कंस्ट्रक्टर.
~DMPublisher(void)
DMPublisher ऑब्जेक्ट का विनाशक.

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

CancelTransactionRequest(uint16_t aTxnId, WEAVE_ERROR aError)
Clear(void)
virtual void
DMPublisher ऑब्जेक्ट की अंदरूनी स्थिति मिटाएं.
Finalize(void)
virtual void
किसी DMPublisher को बंद करें.
IncompleteIndication(Binding *aBinding, StatusReport & aReport)
virtual void
बाइंडिंग के असफल होने के संकेत मैनेज करते हैं.
Init(WeaveExchangeManager *aExchangeMgr, uint32_t aResponseTimeout)
virtual WEAVE_ERROR
DMPublisher ऑब्जेक्ट की शुरुआत करें.
Init(WeaveExchangeManager *aExchangeMgr)
virtual WEAVE_ERROR
OnMsgReceived(ExchangeContext *aResponseCtx, uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aMsg)
void
UpdateResponse(ExchangeContext *aResponseCtx, StatusReport & aStatus)
अपडेट के अनुरोध का जवाब देना.
ViewResponse(ExchangeContext *aResponseCtx, StatusReport & aStatus, ReferencedTLVData *aDataList)
व्यू का जवाब दें.

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

लेन-देन रद्द करें

WEAVE_ERROR CancelTransactionRequest(
  uint16_t aTxnId,
  WEAVE_ERROR aError
)

साफ़ मौसम

virtual void Clear(
  void
)

DMPublisher ऑब्जेक्ट की अंदरूनी स्थिति मिटाएं.

इससे, लेन-देन की सूचना देने वाले पूल और सदस्यता की टेबल को मिटा दिया जाता है.

DMPublisher

 DMPublisher(
  void
)

DMPublisher ऑब्जेक्ट के लिए डिफ़ॉल्ट कंस्ट्रक्टर.

सभी अंदरूनी स्थिति हटाता है.

अंतिम रूप दें

virtual void Finalize(
  void
)

किसी DMPublisher को बंद करें.

सभी ऑपरेटिंग स्थिति को हटाता है और अगर लिसनर चल रहा है तो उसे बंद कर देता है.

अधूरा संकेत

virtual void IncompleteIndication(
  Binding *aBinding,
  StatusReport & aReport
)

बाइंडिंग के असफल होने के संकेत मैनेज करते हैं.

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

ब्यौरा
पैरामीटर
[in] aBinding
कार्रवाई पूरी न होने वाली बाइंडिंग के लिए एक पॉइंटर.
[in] aReport
स्थिति रिपोर्ट ऑब्जेक्ट के काम न करने की वजह के बारे में जानकारी देने वाला रेफ़रंस.

इनिट

virtual WEAVE_ERROR Init(
  WeaveExchangeManager *aExchangeMgr,
  uint32_t aResponseTimeout
)

DMPublisher ऑब्जेक्ट की शुरुआत करें.

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

ब्यौरा
पैरामीटर
[in] aExchangeMgr
WeaveExchangeManager ऑब्जेक्ट के लिए एक पॉइंटर जो उन सभी एक्सचेंज के इस्तेमाल के लिए है जिनमें प्रकाशक हिस्सा लेना चाहता है.
[in] aResponseTimeout
मिलीसेकंड में जवाब देने का समय खत्म हो गया, यानी किसी जवाब के लिए इंतज़ार करने का ज़्यादा से ज़्यादा समय.
लौटाए गए सामान
WEAVE_NO_ERROR सफल होने पर. अगर ऐसा नहीं है, तो प्रकाशक को सही तरीके से सेट अप न कर पाने की वजह से, WEAVE_ERROR को दिखाएं.

इनिट

virtual WEAVE_ERROR Init(
  WeaveExchangeManager *aExchangeMgr
)

चालू मैसेज मिला

void OnMsgReceived(
  ExchangeContext *aResponseCtx,
  uint32_t aProfileId,
  uint8_t aMsgType,
  PacketBuffer *aMsg
)

अपडेट रिस्पॉन्स

WEAVE_ERROR UpdateResponse(
  ExchangeContext *aResponseCtx,
  StatusReport & aStatus
)

अपडेट के अनुरोध का जवाब देना.

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

ब्यौरा
पैरामीटर
[in] aResponseCtx
उस एक्सचेंज कॉन्टेक्स्ट के लिए पॉइंटर जिसमें अनुरोध मिला था.
[in] aStatus
स्टेटस रिपोर्ट ऑब्जेक्ट का रेफ़रंस, जिसमें अनुरोध की स्थिति के बारे में जानकारी होती है.
लौटाए गए सामान
WEAVE_NO_ERROR सफल होने पर. अगर ऐसा नहीं है, तो रिस्पॉन्स मैसेज नहीं भेजने पर, WEAVE_ERROR को दिखाया जाता है.

जवाब देखें

WEAVE_ERROR ViewResponse(
  ExchangeContext *aResponseCtx,
  StatusReport & aStatus,
  ReferencedTLVData *aDataList
)

व्यू का जवाब दें.

प्रोसेसिंग के बाद व्यू के अनुरोध का जवाब भेजें. इसके लिए, संकेत में दिए गए एक्सचेंज के संदर्भ का इस्तेमाल करें.

ब्यौरा
पैरामीटर
[in] aResponseCtx
उस एक्सचेंज कॉन्टेक्स्ट के लिए पॉइंटर जिसमें अनुरोध मिला था.
[in] aStatus
स्टेटस रिपोर्ट ऑब्जेक्ट का रेफ़रंस, जिसमें अनुरोध की स्थिति के बारे में जानकारी होती है. जहां यह सफल होता है वहां अनुरोध करने वाले को, डेटा सूची की उम्मीद थी जिसमें रुचि का डेटा शामिल होगा.
[in] aDataList
एक वैकल्पिक ReferencedTLVData ऑब्जेक्ट का पॉइंटर, जिसमें दिलचस्पी का डेटा और उस डेटा की स्थिति को दिखाने वाले पाथ होते हैं. इसमें TLV से कोड में बदली गई डेटा सूची होती है. ध्यान रखें कि पिछले पैरामीटर में दी गई स्थिति सही न होने की स्थिति में यह पैरामीटर शून्य होगा.
सामान लौटाने की वैल्यू
WEAVE_NO_ERROR
सफल रहा. नहीं तो, जवाब का मैसेज न भेज पाने की वजह से, WEAVE_ERROR को वापस करें.
WEAVE_ERROR_INVALID_ARGUMENT
अगर दिए गए पैरामीटर एक जैसे नहीं हैं
WEAVE_ERROR_NO_MEMORY
अगर इनेट बफ़र नहीं दिया जा सका.

~DMप्रकाशक

virtual  ~DMPublisher(
  void
)

DMPublisher ऑब्जेक्ट का विनाशक.

सभी अंदरूनी स्थितियों को हटाता है और मौजूद होने पर लिसनर को एक्सचेंज मैनेजर से हटा देता है.