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 सोर्स से डेटा पाएं. यह डेटा, सूचना बनाएगा.
अगर पाथ हैंडल, लीफ़ नोड नहीं है, तो TDM राइटर को राइटिंग वैल्यू हैंडल करेगा. जैसे, कंटेनर खोलना, स्ट्रक्चर को शून्य करना वगैरह. अगर कोई नॉन-लीफ़ नोड शून्य है या मौजूद नहीं है, तो TDM अपने चिल्ड्रन के लिए GetData को कॉल नहीं करेगा.
यह सुविधा सिर्फ़ उन हैंडल के लिए इस्तेमाल की जाएगी जो शून्य हो सकते हैं, ज़रूरी नहीं हैं, कुछ समय के लिए नहीं हैं या लीफ़ हैं. उम्मीद की जाती है कि हैंडल वाले जिन traits में वे विकल्प चालू हैं वे aIsNull और aIsप्रज़ेंट को पॉप्युलेट करने के लिए सही लॉजिक लागू करेंगे.
ब्यौरा | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||||||
रिटर्न वैल्यू |
|
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 इंस्टेंस में, कंडीशनल और बिना शर्त वाले म्यूटेशन एक साथ काम नहीं करते.
ब्यौरा | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||||||||
रिटर्न वैल्यू |
|