संग्रह की मदद से व्यवस्थित रहें अपनी प्राथमिकताओं के आधार पर, कॉन्टेंट को सेव करें और कैटगरी में बांटें.

इसमें

#include <src/lib/profiles/data-management/Current/NotificationEngine.h>

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

खास जानकारी

यह MessageDef.cpp में दी गई मिलती-जुलती क्लास का ज़्यादा छोटा वर्शन है, जिसका मकसद डिवाइस की फ़्लैश और रैम की ज़रूरतों को संवेदनशील करना है.

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

Checkpoint(TLV::TLVWriter & aPoint)
अनुरोध की स्थिति को TLVWriter में चेकपॉइंट करें.
EndDataList()
डेटा सूची श्रेणी का निर्माण खत्म करें.
EndEventList()
इवेंट की सूची बनाएं.
EndNotifyRequest()
सूचना के निर्माण को खत्म करें.
GetWriter(void)
Init(PacketBuffer *aBuf, TLV::TLVWriter *aWriter, SubscriptionHandler *aSubHandler, uint32_t aMaxPayloadSize)
बिल्डर शुरू करता है.
MoveToState(NotifyRequestBuilderState aDesiredState)
मुख्य स्थिति का ट्रांज़िशन फ़ंक्शन.
Rollback(TLV::TLVWriter & aPoint)
अनुरोध की स्थिति को सही का निशान वाले TLVWriter में रोलबैक करें.
StartDataList(void)
डेटा लिस्ट अरे बनाना शुरू करता है.
StartEventList()
इवेंट सूची बनाना शुरू हो जाता है.
StartNotifyRequest()
सूचना बनाना शुरू करें.
WriteDataElement(TraitDataHandle aTraitDataHandle, PropertyPathHandle aPropertyPathHandle, SchemaVersion aSchemaVersion, PropertyPathHandle *aMergeDataHandleSet, uint32_t aNumMergeDataHandles, PropertyPathHandle *aDeleteHandleSet, uint32_t aNumDeleteHandles)
किसी खासियत वाले पाथ को देखते हुए, उस पाथ से जुड़े डेटा एलिमेंट को लिखें.

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

COVID-19 की जांच के लिए बनी चेकपोस्ट

WEAVE_ERROR Checkpoint(
  TLV::TLVWriter & aPoint
)

अनुरोध की स्थिति को TLVWriter में चेकपॉइंट करें.

ब्यौरा
पैरामीटर
[out] aPoint
TLV लेखक की स्थिति की जांच करने वाला एक लेखक.
सामान लौटाने की वैल्यू
WEAVE_NO_ERROR
सफल रहा.

एंड डेटालिस्ट

WEAVE_ERROR EndDataList()

डेटा सूची श्रेणी का निर्माण खत्म करें.

ब्यौरा
सामान लौटाने की वैल्यू
WEAVE_NO_ERROR
सफल रहा.
WEAVE_ERROR_INCORRECT_STATE
अगर अनुरोध DataList कंटेनर में नहीं है.
other
डेटा सूची का आखिरी हिस्सा नहीं बनाया जा सका.

EndEventList

WEAVE_ERROR EndEventList()

इवेंट की सूची बनाएं.

ब्यौरा
सामान लौटाने की वैल्यू
WEAVE_NO_ERROR
सफल रहा.
WEAVE_ERROR_INCORRECT_STATE
अगर अनुरोध इवेंट की सूची वाले कंटेनर में मौजूद नहीं है.
other
डेटा सूची का आखिरी हिस्सा नहीं बनाया जा सका.

EndVerifyRequest

WEAVE_ERROR EndNotifyRequest()

सूचना के निर्माण को खत्म करें.

ब्यौरा
सामान लौटाने की वैल्यू
WEAVE_NO_ERROR
सफल रहा.
WEAVE_ERROR_INCORRECT_STATE
अगर अनुरोध 'सूचना दें' कंटेनर में नहीं है.
other
सूचना के खत्म होने में कोई गड़बड़ी हुई.

GetWriter

TLV::TLVWriter * GetWriter(
  void
)

इनिट

WEAVE_ERROR Init(
  PacketBuffer *aBuf,
  TLV::TLVWriter *aWriter,
  SubscriptionHandler *aSubHandler,
  uint32_t aMaxPayloadSize
)

बिल्डर शुरू करता है.

इसे सिर्फ़ एक बार कॉल किया जाना चाहिए.

ब्यौरा
सामान लौटाने की वैल्यू
WEAVE_NO_ERROR
सफल रहा.
other
बिल्डर शुरू नहीं किया जा सका.

मूव टोस्टेट

WEAVE_ERROR MoveToState(
  NotifyRequestBuilderState aDesiredState
)

मुख्य स्थिति का ट्रांज़िशन फ़ंक्शन.

फ़ंक्शन अपनी पसंद की स्थिति लेता है (जैसे, सूचना अनुरोध बिल्डर का वह चरण जिस तक हम पहुंचना चाहते हैं) और अनुरोध को उस स्थिति में बदल देता है. अगर पसंदीदा स्थिति और मौजूदा स्थिति एक जैसी है, तो फ़ंक्शन कुछ नहीं करता. अगर ऐसा नहीं है, तो PacktBuffer दिया जाता है (अगर ज़रूरी हो); फ़ंक्शन पहले, अनुरोध को टॉप लेवल सूचना अनुरोध (टीएलवी स्ट्रक्चर खोलने या आपकी ज़रूरत के मुताबिक मौजूदा TLV डेटा कंटेनर बंद करने) के बाद बदल जाता है. इसके बाद, सही TLV डेटा कंटेनर खोलकर या ज़्यादा सूचना देने वाले अनुरोध को बंद करके, सूचना पाने के अनुरोध में बदलाव करता है.

ब्यौरा
पैरामीटर
aDesiredState
वह स्थिति जिसे अनुरोध में बदला जाना चाहिए
सामान लौटाने की वैल्यू
WEAVE_NO_ERROR
सफल रहा.
WEAVE_ERROR_NO_MEMORY
कम मेमोरी की वजह से स्थिति में बदलाव नहीं किया जा सका.
WEAVE_ERROR_INCORRECT_STATE
अंदरूनी स्थिति मशीन को भ्रष्ट करना.
other
जब स्थिति मशीन अपने बफ़र में स्थिति को रिकॉर्ड नहीं कर सकी, तो यह रनटाइम की समस्या के बजाय डिज़ाइन की किसी गड़बड़ी के बारे में बताती है.

रोलबैक

WEAVE_ERROR Rollback(
  TLV::TLVWriter & aPoint
)

अनुरोध की स्थिति को सही का निशान वाले TLVWriter में रोलबैक करें.

ब्यौरा
पैरामीटर
[in] aPoint
किसी लेखक ने बहुत पहले किसी समय राज्य को कैप्चर किया था
सामान लौटाने की वैल्यू
WEAVE_NO_ERROR
सफल रहा.

प्रारंभ डेटासूची

WEAVE_ERROR StartDataList(
  void
)

डेटा लिस्ट अरे बनाना शुरू करता है.

ब्यौरा
सामान लौटाने की वैल्यू
WEAVE_NO_ERROR
सफल रहा.
WEAVE_ERROR_INCORRECT_STATE
अगर अनुरोध 'सूचना दें' कंटेनर में नहीं दिया गया है.
other
डेटा सूची की शुरुआत नहीं हो सकी.

प्रारंभ इवेंट सूची

WEAVE_ERROR StartEventList()

इवेंट सूची बनाना शुरू हो जाता है.

ब्यौरा
सामान लौटाने की वैल्यू
WEAVE_NO_ERROR
सफल रहा.
WEAVE_ERROR_INCORRECT_STATE
अगर अनुरोध 'सूचना दें' कंटेनर में नहीं दिया गया है.
other
डेटा सूची की शुरुआत नहीं हो सकी.

प्रारंभ नोटिफ़िकेशन अनुरोध

WEAVE_ERROR StartNotifyRequest()

सूचना बनाना शुरू करें.

ब्यौरा
सामान लौटाने की वैल्यू
WEAVE_NO_ERROR
सफल रहा.
WEAVE_ERROR_INCORRECT_STATE
अगर अनुरोध बफ़र के सबसे ऊपर नहीं है.
other
सूचना के खत्म होने में कोई गड़बड़ी हुई.

राइटडेटा एलिमेंट

WEAVE_ERROR WriteDataElement(
  TraitDataHandle aTraitDataHandle,
  PropertyPathHandle aPropertyPathHandle,
  SchemaVersion aSchemaVersion,
  PropertyPathHandle *aMergeDataHandleSet,
  uint32_t aNumMergeDataHandles,
  PropertyPathHandle *aDeleteHandleSet,
  uint32_t aNumDeleteHandles
)

किसी खासियत वाले पाथ को देखते हुए, उस पाथ से जुड़े डेटा एलिमेंट को लिखें.

कॉलर के पास वैकल्पिक रूप से हैंडल सेट को पास करने की सुविधा भी होती है. इससे वह पैरंट प्रॉपर्टी पाथ हैंडल के तुरंत चाइल्ड नोड के छोटे सेट के साथ मर्ज ऑपरेशन का फ़ायदा उठा सकता है.

ब्यौरा
सामान लौटाने की वैल्यू
WEAVE_NO_ERROR
सफल रहा.
other
डेटा एलिमेंट को फिर से नहीं पाया और लिखा नहीं जा सका.