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 देखें. PaetBuffer के डेटा की लंबाई को सिर्फ़ सफल होने पर ही अपडेट किया जाता है, लेकिन बफ़र का कॉन्टेंट सेव नहीं किया जाता.

ब्यौरा
रिटर्न वैल्यू
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
)

जारी पाथ की सूची में निजी पाथ जोड़ें. मौजूदा पाथ को कोड में बदले जा रहे पाथ के बाद डालें.

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

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

UpdateEncoder

 UpdateEncoder()

~UpdateEncoder

 ~UpdateEncoder()