nl:: बुनें:: प्रोफाइल:: डेटा प्रबंधन_वर्तमान :: विशेषता अद्यतन करने योग्य डेटा सिंक

सारांश

विरासत

इनहेरिट करता है:
  nl::Weave::Profiles::DataManagement_Current::TraitDataSink
  nl::Weave::Profiles::DataManagement_Current::TraitSchemaEngine::IGetDataDelegate

निर्माता और विनाशक De

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 लेखक, और यह दर्शाता है मान शून्य या मौजूद नहीं है कि क्या बूलियन्स, विशेषता स्रोत है कि एक को सूचित निर्माण करेगा से डेटा प्राप्त।
GetSubscriptionClient () __OVERRIDE
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)
घोषित करता है कि दिए गए PropertyPathHandle में स्थानीय संशोधन हैं।
Unlock ( SubscriptionClient *apSubClient)
void

सार्वजनिक समारोह

साफ़ अद्यतन

WEAVE_ERROR ClearUpdated(
  SubscriptionClient *apSubClient,
  PropertyPathHandle aPropertyHandle
)

डेटा प्राप्त करें

virtual WEAVE_ERROR GetData(
  PropertyPathHandle aHandle,
  uint64_t aTagToWrite,
  nl::Weave::TLV::TLVWriter & aWriter,
  bool & aIsNull,
  bool & aIsPresent
) __OVERRIDE

एक नोड, एक करने के लिए एक रास्ता संभाल देखते हुए TLV लेखक, और यह दर्शाता है मान शून्य या मौजूद नहीं है कि क्या बूलियन्स, विशेषता स्रोत है कि एक को सूचित निर्माण करेगा से डेटा प्राप्त।

यदि पाथ हैंडल लीफ नोड नहीं है, तो TDM राइटर को राइटिंग वैल्यू (जैसे कंटेनर खोलना, स्ट्रक्चर को खाली करना, आदि) को हैंडल करेगा। यदि एक गैर-पत्ती नोड शून्य है या मौजूद नहीं है, तो TDM अपने बच्चों के लिए GetData को कॉल नहीं करेगा।

यह फ़ंक्शन केवल उन हैंडल के लिए बुलाया जाएगा जो अशक्त, वैकल्पिक, अल्पकालिक, या लीफ हैं। उम्मीद यह है कि उन विकल्पों को सक्षम करने वाले हैंडल वाले कोई भी लक्षण aIsNull और aIsPresent को पॉप्युलेट करने के लिए उपयुक्त तर्क लागू करेंगे।

विवरण
मापदंडों
[in] aHandle
प्रॉपर्टीपाथहैंडल प्रश्न में है।
[in] aTagToWrite
हैंडल के लिए लिखने के लिए टैग।
[in,out] aWriter
लेखक लिखने के लिए TLV के तत्वों।
[out] aIsNull
क्या एक हैंडल रद्द कर दिया गया है? यदि हाँ, तो TDM एक रिक्त अवयव लिखेगा। यदि हैंडल एक पत्ता नहीं है, तो टीडीएम अपने बच्चों को छोड़ देगा।
[out] aIsPresent
क्या हैंडल मौजूद है? यदि नहीं और यदि हैंडल एक पत्ता नहीं है, तो टीडीएम पथ और उसके बच्चों को छोड़ देगा।
वापसी मूल्य
WEAVE_NO_ERROR
सफलता पर।
other
डेटा पुनर्प्राप्त करने और इसे लेखक में लिखने में असमर्थ था।

सदस्यता ग्राहक प्राप्त करें

virtual SubscriptionClient * GetSubscriptionClient() __OVERRIDE

GetUpdateEncoder

virtual UpdateEncoder * GetUpdateEncoder() __OVERRIDE

अद्यतन करने योग्य डेटा सिंक

virtual bool IsUpdatableDataSink(
  void
) __OVERRIDE

लॉक

void Lock(
  SubscriptionClient *apSubClient
)

रीडडेटा

WEAVE_ERROR ReadData(
  TraitDataHandle aTraitDataHandle,
  PropertyPathHandle aHandle,
  uint64_t aTagToWrite,
  TLV::TLVWriter & aWriter,
  PropertyPathHandle & aPropertyPathHandleOfDictItemToStartFrom
)

सदस्यता ग्राहक सेट करें

virtual WEAVE_ERROR SetSubscriptionClient(
  SubscriptionClient *apSubClient
) __OVERRIDE

अद्यतन एन्कोडर सेट करें

virtual WEAVE_ERROR SetUpdateEncoder(
  UpdateEncoder *apEncoder
) __OVERRIDE

अद्यतन सेट करें

WEAVE_ERROR SetUpdated(
  SubscriptionClient *apSubClient,
  PropertyPathHandle aPropertyHandle,
  bool aIsConditional
)

घोषित करता है कि दिए गए PropertyPathHandle में स्थानीय संशोधन हैं।

NotificationEngine संभाल और उसके वंश पर हावी नहीं होगा, जब तक अद्यतन अनुरोध संसाधित किया गया है। एप्लिकेशन को इस हैंडल के लिए या अपडेट ऑपरेशन के परिणाम के साथ इसके पूर्वजों में से एक के लिए kEvent_OnUpdateComplete कॉलबैक प्राप्त होगा। संशोधन सशर्त हो सकता है या नहीं। सशर्त डेटा अपडेट खो जाएंगे यदि विशेषता उदाहरण की स्थानीय प्रति अब प्रकाशक के साथ समन्वयित नहीं है क्योंकि इसे प्रकाशक द्वारा या किसी अन्य क्लाइंट द्वारा उत्परिवर्तित किया गया था। सशर्त और बिना शर्त उत्परिवर्तन एक ही समय में एक ही विशेषता उदाहरण में समर्थित नहीं हैं।

विवरण
मापदंडों
[in] apSubClient
करने के लिए एक सूचक SubscriptionClient इस सिंक के प्रबंध।
[in] aPropertyHandle
इस विशेषता उदाहरण के लिए कोई भी मान्य PropertyPathHandle।
[in] aIsConditional
सशर्त अद्यतन के लिए सही; अन्यथा झूठा।
वापसी मूल्य
WEAVE_NO_ERROR
यदि गुण के मालिक को भेजे जाने वाले गुणों के सेट में संपत्ति का हैंडल सफलतापूर्वक जोड़ा गया था।
WEAVE_ERROR_INVALID_ARGUMENT
अगर संभाल या SubscriptionClient सूचक अमान्य हैं।
WEAVE_ERROR_WDM_INCONSISTENT_CONDITIONALITY
यदि विशेषता उदाहरण पहले से ही विपरीत स्थिति के साथ अद्यतन किया जा रहा है।
WEAVE_ERROR_WDM_LOCAL_DATA_INCONSISTENT
यदि aIsConditional सत्य है, लेकिन विशेषता उदाहरण का कोई मान्य संस्करण नहीं है।
WEAVE_ERROR_WDM_PATH_STORE_FULL
अगर पथ को स्टोर करने के लिए कोई स्मृति नहीं है।
Other
विफलता के आधार पर WEAVE_ERROR कोड।

विशेषता अद्यतन करने योग्य डेटा सिंक

 TraitUpdatableDataSink(
  const TraitSchemaEngine *aEngine
)

अनलॉक

void Unlock(
  SubscriptionClient *apSubClient
)