nl::Weave::Profiles::DataManagement_Current::NotificationEngine::NotifyRequestBuilder

#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)
Trait पाथ को देखते हुए, उस पाथ से जुड़े डेटा एलिमेंट को लिखें.

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

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

WEAVE_ERROR Checkpoint(
  TLV::TLVWriter & aPoint
)

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

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

EndDataList

WEAVE_ERROR EndDataList()

डेटा सूची की कैटगरी बनाना बंद करें.

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

EndEventList

WEAVE_ERROR EndEventList()

इवेंट की सूची बनाने की प्रोसेस बंद करें.

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

EndNotifyRequest

WEAVE_ERROR EndNotifyRequest()

सूचना बनाने की प्रोसेस बंद करें.

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

GetWriter

TLV::TLVWriter * GetWriter(
  void
)

Init

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

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

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

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

MoveToState

WEAVE_ERROR MoveToState(
  NotifyRequestBuilderState aDesiredState
)

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

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

StartDataList

WEAVE_ERROR StartDataList(
  void
)

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

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

StartEventList

WEAVE_ERROR StartEventList()

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

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

StartNotifyRequest

WEAVE_ERROR StartNotifyRequest()

सूचना बनाने की प्रोसेस शुरू करें.

ब्यौरा
रिटर्न वैल्यू
WEAVE_NO_ERROR
सफलता पर.
WEAVE_ERROR_INCORRECT_STATE
अगर अनुरोध बफ़र के टॉप लेवल पर नहीं है.
other
इस सूचना को पूरा नहीं किया जा सका.

WriteDataElement

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

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

कॉलर, पैरंट प्रॉपर्टी पाथ हैंडल के नज़दीकी चाइल्ड नोड के संकरे सेट के साथ, मर्ज कार्रवाई का फ़ायदा पाने के लिए, वैकल्पिक तौर पर हैंडल सेट को पास कर सकता है.

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