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
)

शुरू करें

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

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

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

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

MoveToState

WEAVE_ERROR MoveToState(
  NotifyRequestBuilderState aDesiredState
)

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

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

ब्यौरा
पैरामीटर
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
डेटा एलिमेंट को वापस नहीं लाया जा सका और उसमें बदलाव नहीं किया जा सका.