nl:: Weave:: Profiles:: DataManagement_Current:: TraitUpdatableDataSink
खास जानकारी
इनहेरिटेंस
इनसे इनहेरिट किया जाता है:nl::Weave::Profiles::DataManagement_Current::TraitDataSink
nl::Weave::Profiles::DataManagement_Current::TraitSchemaEngine::IGetDataDelegate
कंस्ट्रक्टर और डिस्ट्रक्टर |
|
---|---|
TraitUpdatableDataSink(const TraitSchemaEngine *aEngine)
|
सार्वजनिक फ़ंक्शन |
|
---|---|
ClearUpdated(SubscriptionClient *apSubClient, PropertyPathHandle aPropertyHandle)
|
|
GetData(PropertyPathHandle aHandle, uint64_t aTagToWrite, nl::Weave::TLV::TLVWriter & aWriter, bool & aIsNull, bool & aIsPresent) __OVERRIDE
|
virtual WEAVE_ERROR
किसी नोड, TLV राइटर, और बूलियन के दिए गए पाथ हैंडल को देखकर यह पता चलता है कि वैल्यू शून्य है या नहीं है. ऐसे में, उस Trait सोर्स से डेटा हासिल करें जो सूचना बनाने की कोशिश करेगा.
|
GetSubscriptionClient() __OVERRIDE
|
virtual SubscriptionClient *
|
GetUpdateEncoder() __OVERRIDE
|
virtual UpdateEncoder *
|
IsUpdatableDataSink(void) __OVERRIDE
|
virtual bool
|
Lock(SubscriptionClient *apSubClient)
|
void
|
ReadData(TraitDataHandle aTraitDataHandle, PropertyPathHandle aHandle, uint64_t aTagToWrite, TLV::TLVWriter & aWriter, PropertyPathHandle & aPropertyPathHandleOfDictItemToStartFrom)
|
|
SetSubscriptionClient(SubscriptionClient *apSubClient) __OVERRIDE
|
virtual WEAVE_ERROR
|
SetUpdateEncoder(UpdateEncoder *apEncoder) __OVERRIDE
|
virtual WEAVE_ERROR
|
SetUpdated(SubscriptionClient *apSubClient, PropertyPathHandle aPropertyHandle, bool aIsConditional)
|
यह जानकारी देता है कि दिए गए प्रॉपर्टीPathHandle में स्थानीय बदलाव किए गए हैं.
|
Unlock(SubscriptionClient *apSubClient)
|
void
|
सार्वजनिक फ़ंक्शन
ClearUpdated
WEAVE_ERROR ClearUpdated( SubscriptionClient *apSubClient, PropertyPathHandle aPropertyHandle )
GetData
virtual WEAVE_ERROR GetData( PropertyPathHandle aHandle, uint64_t aTagToWrite, nl::Weave::TLV::TLVWriter & aWriter, bool & aIsNull, bool & aIsPresent ) __OVERRIDE
किसी नोड, TLV राइटर, और बूलियन के दिए गए पाथ हैंडल को देखकर यह पता चलता है कि वैल्यू शून्य है या नहीं है. ऐसे में, उस Trait सोर्स से डेटा हासिल करें जो सूचना बनाने की कोशिश करेगा.
अगर पाथ हैंडल कोई लीफ़ नोड नहीं है, तो टीडीएम, राइटर के लिए वैल्यू लिखने (जैसे कि कंटेनर खोलना, स्ट्रक्चर को खाली करना वगैरह) हैंडल करेगा. अगर बिना लीफ़ के नोड शून्य है या मौजूद नहीं है, तो टीडीएम अपने बच्चों के लिए GetData को कॉल नहीं करेगा.
यह फ़ंक्शन सिर्फ़ उन हैंडल के लिए कॉल किया जाएगा जो शून्य वाले, वैकल्पिक, कुछ समय के लिए प्रोफ़ाइल या लीफ़ हैं. उम्मीद है कि हैंडल वाले जिन Trait में ये विकल्प चालू होंगे वे aIsNull और aIspresent को पॉप्युलेट करने के लिए सही लॉजिक लागू करेंगे.
विवरण | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||||||
रिटर्न वैल्यू |
|
GetSubscriptionClient
virtual SubscriptionClient * GetSubscriptionClient() __OVERRIDE
GetUpdateEncoder
virtual UpdateEncoder * GetUpdateEncoder() __OVERRIDE
IsUpdatableDataSink
virtual bool IsUpdatableDataSink( void ) __OVERRIDE
लॉक करें
void Lock( SubscriptionClient *apSubClient )
ReadData
WEAVE_ERROR ReadData( TraitDataHandle aTraitDataHandle, PropertyPathHandle aHandle, uint64_t aTagToWrite, TLV::TLVWriter & aWriter, PropertyPathHandle & aPropertyPathHandleOfDictItemToStartFrom )
SetSubscriptionClient
virtual WEAVE_ERROR SetSubscriptionClient( SubscriptionClient *apSubClient ) __OVERRIDE
SetUpdateEncoder
virtual WEAVE_ERROR SetUpdateEncoder( UpdateEncoder *apEncoder ) __OVERRIDE
SetUpdated
WEAVE_ERROR SetUpdated( SubscriptionClient *apSubClient, PropertyPathHandle aPropertyHandle, bool aIsConditional )
यह जानकारी देता है कि दिए गए प्रॉपर्टीPathHandle में स्थानीय बदलाव किए गए हैं.
जब तक अपडेट के अनुरोध को प्रोसेस नहीं किया जाता, तब तक NotificationEngine, हैंडल और उसके डिसेंडेंट को नहीं बदलेगा. अपडेट कार्रवाई के नतीजे के साथ, ऐप्लिकेशन को इस हैंडल के लिए या इसके किसी ऐनसेस्टर के लिए kEvent_OnUpdateComplete कॉलबैक मिलेंगे. यह बदलाव, शर्तों के साथ हो सकता है या नहीं भी हो सकता है. अगर Trait इंस्टेंस की लोकल कॉपी, पब्लिशर के डेटा के साथ सिंक नहीं होती, तो शर्तों के हिसाब से डेटा अपडेट नहीं होगा. ऐसा इसलिए होगा, क्योंकि पब्लिशर ने या किसी दूसरे क्लाइंट ने इसमें बदलाव किया था. कंडिशनल और बिना शर्त वाले म्यूटेशन, एक ही Trait इंस्टेंस में एक साथ काम नहीं करते.
विवरण | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||||||||
रिटर्न वैल्यू |
|