nl::Weave::Profiles::DataManagement_Current::UpdateEncoder

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

यह ऑब्जेक्ट WDM UpdateRequest और PartialUpdateRequest पेलोड को कोड में बदल देता है.

खास जानकारी

ध्यान दें कि दोनों अनुरोधों का फ़ॉर्मैट एक ही है; इनमें सिर्फ़ मैसेज टाइप के हिसाब से अंतर किया जाता है, जो इस ऑब्जेक्ट के दायरे से बाहर है.

कोड में बदलने का काम EncodeRequest विधि के ज़रिए सिंक्रोनस रूप से किया जाता है. इसके अलावा, सिर्फ़ दूसरा सार्वजनिक तरीका InsertInProग्रेसUpdateItem है. इसे SchemaEngine से कॉल करता है, जब किसी शब्दकोश को सूची में वापस भेजना होता है.

कंस्ट्रक्टर और डिस्ट्रक्टर

UpdateEncoder()
~UpdateEncoder()

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

EncodeRequest(Context & aContext)
WDM अपडेट अनुरोध पेलोड को कोड में बदलें.
InsertInProgressUpdateItem(const TraitPath & aItem)
चल रहे पाथ की सूची में प्राइवेट पाथ जोड़ें. फ़िलहाल, पाथ को कोड में बदलने के बाद डालें.

स्ट्रक्चर

nl::Weave::Profiles::DataManagement_Current::UpdateEncoder::Context

इस स्ट्रक्चर में, EncodeRequest मेथड में I/O आर्ग्युमेंट इस्तेमाल किए जाते हैं.

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

EncodeRequest

WEAVE_ERROR EncodeRequest(
  Context & aContext
)

WDM अपडेट अनुरोध पेलोड को कोड में बदलें.

UpdateEncoder::Context देखें. PacketBuffer के डेटा की लंबाई कामयाब होने पर ही अपडेट की जाती है, लेकिन बफ़र कॉन्टेंट को सुरक्षित नहीं रखा जाता है.

विवरण
रिटर्न वैल्यू
WEAVE_NO_ERROR
पेलोड की DataList में कम से कम एक DataElement को कोड में बदला गया था.
WEAVE_ERROR_BUFFER_TOO_SMALL
पहला DataElement, पेलोड में फ़िट नहीं हो सका.
WEAVE_ERROR_INVALID_ARGUMENT
aContext को अमान्य वैल्यू के साथ शुरू किया गया.
other
निचले लेवल के ऑब्जेक्ट (TLVWriter, SchemaEngine, वगैरह) से दूसरी गड़बड़ियां.

InsertInProgressUpdateItem

WEAVE_ERROR InsertInProgressUpdateItem(
  const TraitPath & aItem
)

चल रहे पाथ की सूची में प्राइवेट पाथ जोड़ें. फ़िलहाल, पाथ को कोड में बदलने के बाद डालें.

इस तरीके को SchemaEngine के लिए कॉल करता है, क्योंकि यह स्कीमा ट्री पर जाता है और इसके लिए डिक्शनरी को सूची में वापस भेजना पड़ता है.

विवरण
पैरामीटर
[in] aItem
कोड में बदली गई सूची में शामिल करने के लिए TraitPath.
रिटर्न वैल्यू
WEAVE_NO_ERROR
आइटम को शामिल किया गया.
WEAVE_NO_MEMORY
TraitPathStore में आइटम डालने के लिए जगह नहीं थी.

UpdateEncoder

 UpdateEncoder()

~UpdateEncoder

 ~UpdateEncoder()