nl:: Weave:: Profiles:: DataManagement_Legacy:: DMClient
#include <src/lib/profiles/data-management/Legacy/DMClient.h>
ऐप्लिकेशन के हिसाब से बने WDM क्लाइंट के लिए ऐब्सट्रैक्ट बेस क्लास.
खास जानकारी
DMClient स्टैंडर्ड WDM क्लाइंट है. लागू करने में वैकल्पिक तौर पर सदस्यता/सूचना शामिल होती है. यह, DM ProtocolEngine क्लास और पूरी तरह से एब्सट्रैक्ट ClientDataManager क्लास को मैनेज करने वाली क्लास का एक मिला-जुला रूप है, जिसमें सदस्यता से जुड़े कुछ तरीके लागू किए जाते हैं, ताकि ज़्यादा लेयर को इस्तेमाल करने के बारे में चिंता न करनी पड़े.
सदस्यता से जुड़े टास्क के लिए हैंडलर, मुख्य तौर पर ClientNotifier ऑब्जेक्ट के बजाय पतले अडैप्टर के तौर पर काम करते हैं. सब-क्लास को लागू करने वाले लोगों को इस बात का ध्यान रखना चाहिए कि वह सही सुपर-क्लास तरीकों को शामिल करे, ताकि सदस्यता मैनेजर को क्रैंक करने में मदद मिल सके.
DMClient के लिए अनुरोध करने के तरीके में आम तौर पर दो हस्ताक्षर होते हैं. एक में डेस्टिनेशन नोड आईडी साफ़ तौर पर बताया जाता है और दूसरा तय किए गए डेस्टिनेशन के साथ. दोनों ही मामलों में, पब्लिशर को मैसेज भेजने की सुविधा क्लाइंट में पहले से मौजूद बाइंडिंग पर निर्भर करती है. हालांकि, पहले मामले में, डेस्टिनेशन आईडी का मकसद एक से ज़्यादा बाउंड डेस्टिनेशन में से किसी को चुनना होता है. साथ ही, दूसरे मामले में, बाइंडिंग टेबल में पहले आइटम को डिफ़ॉल्ट के तौर पर चुना जाता है. उदाहरण के लिए, यह तब फ़ायदेमंद होता है, जब क्लाइंट सिर्फ़ एक पब्लिशर से जुड़ता है.
इनहेरिटेंस
इनसे इनहेरिट की गई:nl::Weave::Profiles::DataManagement_Legacy::ProtocolEngine
nl::Weave::Profiles::DataManagement_Legacy::ClientDataManager
कंस्ट्रक्टर और डिस्ट्रक्टर |
|
---|---|
DMClient(void)
DMClient ऑब्जेक्ट के लिए डिफ़ॉल्ट कंस्ट्रक्टर.
|
|
~DMClient(void)
DMClient ऑब्जेक्ट के लिए डिस्ट्रक्टर.
|
ViewRequest(const uint64_t & aDestinationId, ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout)
|
virtual WEAVE_ERROR
पब्लिश किए गए डेटा को देखने का अनुरोध करें.
|
ViewRequest(ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout)
|
virtual WEAVE_ERROR
डिफ़ॉल्ट पब्लिशर के डेटा के व्यू का अनुरोध करें.
|
UpdateRequest(const uint64_t & aDestinationId, ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout)
|
virtual WEAVE_ERROR
पब्लिश किए गए डेटा को अपडेट करने का अनुरोध करें.
|
UpdateRequest(ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout)
|
virtual WEAVE_ERROR
डिफ़ॉल्ट पब्लिशर के डेटा में बदलाव करने का अनुरोध करें.
|
सुरक्षित एट्रिब्यूट |
|
---|---|
mUpdatePool[kUpdatePoolSize]
|
|
mViewPool[kViewPoolSize]
|
सार्वजनिक फ़ंक्शन |
|
---|---|
CancelTransactionRequest(uint16_t aTxnId, WEAVE_ERROR aError)
|
चल रहे लेन-देन को रद्द करने का अनुरोध करें.
|
Clear(void)
|
virtual void
DMClient ऑब्जेक्ट से जुड़ी अंदरूनी स्थिति को मिटाएं.
|
Finalize(void)
|
virtual void
ऑपरेटिंग DMClient को बंद करना.
|
IncompleteIndication(Binding *aBinding, StatusReport & aReport)
|
virtual void
क्लाइंट जिस बाइंडिंग का इस्तेमाल कर रहा है उसकी "अधूरी है" को मैनेज करें.
|
सुरक्षित किए गए फ़ंक्शन |
|
---|---|
NewUpdate(void)
|
Update *
|
NewView(void)
|
View *
|
ViewRequest
virtual WEAVE_ERROR ViewRequest( const uint64_t & aDestinationId, ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout )
पब्लिश किए गए डेटा को देखने का अनुरोध करें.
किसी चुनिंदा रिमोट पब्लिशर से जुड़े और मैनेज किए जाने वाले डेटा के व्यू का अनुरोध करें.
ब्यौरा | |||||||||
---|---|---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||||
रिटर्न वैल्यू |
|
||||||||
लौटाए गए सामान |
अगर ऐसा नहीं होता है, तो WEAVE_ERROR की इमेज, जो लेन-देन शुरू या शुरू नहीं होने की जानकारी दिखाती है.
|
ViewRequest
virtual WEAVE_ERROR ViewRequest( ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout )
डिफ़ॉल्ट पब्लिशर के डेटा के व्यू का अनुरोध करें.
उस डेटा के व्यू का अनुरोध करें जो "डिफ़ॉल्ट" पब्लिशर पर रहता है और जिसे मैनेज किया जाता है. यह पब्लिशर, क्लाइंट की बाइंडिंग टेबल में पहले या सिर्फ़ पहले पब्लिशर के तौर पर शामिल होता है.
ब्यौरा | |||||||
---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||
रिटर्न वैल्यू |
|
||||||
लौटाए गए सामान |
अगर ऐसा नहीं होता है, तो WEAVE_ERROR की इमेज, जो लेन-देन शुरू या शुरू नहीं होने की जानकारी दिखाती है.
|
UpdateRequest
virtual WEAVE_ERROR UpdateRequest( const uint64_t & aDestinationId, ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout )
पब्लिश किए गए डेटा को अपडेट करने का अनुरोध करें.
अनुरोध करें कि कोई रिमोट पब्लिशर, मैनेजमेंट के तहत डेटा अपडेट करे.
ब्यौरा | |||||||||
---|---|---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||||
लौटाए गए सामान |
सफल होने पर WEAVE_NO_ERROR या अगर किसी अपडेट लेन-देन को असाइन नहीं किया जा सका, तो WEAVE_ERROR_NO_MEMORY. अगर ऐसा नहीं है, तो अपडेट न होने पर दिखाने वाला WEAVE_ERROR दिखाएं.
|
UpdateRequest
virtual WEAVE_ERROR UpdateRequest( ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout )
डिफ़ॉल्ट पब्लिशर के डेटा में बदलाव करने का अनुरोध करें.
अनुरोध करें कि कोई रिमोट पब्लिशर, मैनेजमेंट के तहत डेटा अपडेट करे. यह वर्शन, अनुरोध को उस पब्लिशर को भेजता है जो क्लाइंट की डिफ़ॉल्ट बाइंडिंग का टारगेट है.
ब्यौरा | |||||||
---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||
लौटाए गए सामान |
सफल होने पर WEAVE_NO_ERROR या अगर किसी अपडेट लेन-देन को असाइन नहीं किया जा सका, तो WEAVE_ERROR_NO_MEMORY. अगर ऐसा नहीं है, तो अपडेट न होने पर दिखाने वाला WEAVE_ERROR दिखाएं.
|
सुरक्षित एट्रिब्यूट
mUpdatePool
Update mUpdatePool[kUpdatePoolSize]
mViewPool
View mViewPool[kViewPoolSize]
सार्वजनिक फ़ंक्शन
CancelTransactionRequest
WEAVE_ERROR CancelTransactionRequest( uint16_t aTxnId, WEAVE_ERROR aError )
चल रहे लेन-देन को रद्द करने का अनुरोध करें.
यह तरीका नेटवर्क ट्रैफ़िक जनरेट नहीं करता, बल्कि सिर्फ़ खास लेन-देन के लिए असाइन किए गए संसाधन रिलीज़ करता है
ब्यौरा | |||||
---|---|---|---|---|---|
पैरामीटर |
|
||||
लौटाए गए सामान |
लेन-देन रद्द न हो पाने की जानकारी देने वाला WEAVE_NO_ERROR या WEAVE_ERROR की जानकारी.
|
क्लियर
virtual void Clear( void )
DMClient ऑब्जेक्ट से जुड़ी अंदरूनी स्थिति को मिटाएं.
खास तौर पर, यह तरीका क्लाइंट ट्रांज़ैक्शन के सभी पूल हटा देता है. फ़ाइनलाइज़() तरीके का इस्तेमाल किए जा रहे क्लाइंट के लिए, इस तरीके को प्राथमिकता दी जाती है, क्योंकि यह सदस्यताएं भी रद्द करता है. साथ ही, ट्रांज़ैक्शन और बाइंडिंग टेबल को भी साफ़ करता है.
यह भी देखें:फ़ाइनल करें()
DMClient
DMClient( void )
फ़ाइनल करें
virtual void Finalize( void )
ऑपरेटिंग DMClient को बंद करना.
यह क्लाइंट से जुड़ी सारी ऑपरेटिंग स्थिति हटा देता है और नोटिफ़िकेशन से मिलती-जुलती सभी सदस्यताएं हटा देता है. फ़ाइनलाइज़() को कॉल करने के बाद, DMClient को आसानी से Init() कॉल करके फिर से शुरू किया जा सकता है. फ़ाइनलाइज़() को DMClient डिस्ट्रक्टर से शुरू किया जाता है.हालांकि, इसे उस स्थिति में कॉल किया जा सकता है जहां DMClient को क्लीनअप की ज़रूरत होती है. उदाहरण के लिए, ऐसा नहीं हो पाने पर या कुछ समय के लिए बंद होने पर, लेकिन बाद में इसे बदलना पड़ सकता है.
IncompleteIndication
virtual void IncompleteIndication( Binding *aBinding, StatusReport & aReport )
क्लाइंट जिस बाइंडिंग का इस्तेमाल कर रहा है उसकी "अधूरी है" को मैनेज करें.
जब कोई बाइंडिंग अचानक काम करना बंद कर देती है, जैसे कि अगर बाइंडिंग में शामिल कनेक्शन बंद हो जाता है, तो यह तरीका कॉल किया जाता है.
ब्यौरा | |||||
---|---|---|---|---|---|
पैरामीटर |
|
~DMClient
virtual ~DMClient( void )
DMClient ऑब्जेक्ट के लिए डिस्ट्रक्टर.
इससे सभी इंटरनल स्टेटस हट जाते हैं. साथ ही, ज़रूरी होने पर 'मंज़ूरी बाकी है' वाली सदस्यताएं रद्द हो जाती हैं.