nl:: बुनें:: प्रोफाइल:: डेटा प्रबंधन_वर्तमान :: अद्यतनएनकोडर

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

इस वस्तु encodes डब्ल्यूडीएम UpdateRequest और PartialUpdateRequest पेलोड।

सारांश

ध्यान दें कि दोनों अनुरोधों का प्रारूप समान है; वे केवल संदेश प्रकार से विभेदित होते हैं, जो इस वस्तु के दायरे से बाहर है।

एन्कोडिंग EncodeRequest विधि द्वारा समकालिक रूप से किया जाता है। एकमात्र अन्य सार्वजनिक विधि InsertInProgressUpdateItem है, जिसे स्कीमाइंजिन द्वारा बुलाया जाता है जब उसे एक शब्दकोश को कतार में वापस धक्का देना होता है।

निर्माता और विनाशक De

UpdateEncoder ()
~UpdateEncoder ()

सार्वजनिक समारोह

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

स्ट्रक्चर्स

nl :: Weave :: प्रोफाइल :: DataManagement_Current :: UpdateEncoder :: प्रसंग

यह संरचना EncodeRequest विधि में I/O तर्क रखती है।

सार्वजनिक समारोह

एनकोड अनुरोध

WEAVE_ERROR EncodeRequest(
  Context & aContext
)

WDM अपडेट अनुरोध पेलोड को एनकोड करें।

देखें UpdateEncoder :: प्रसंग । पैकेटबफर की डेटा लंबाई केवल सफलता के मामले में अपडेट की जाती है, लेकिन बफर सामग्री संरक्षित नहीं होती है।

विवरण
वापसी मूल्य
WEAVE_NO_ERROR
कम से कम एक पर DataElement पेलोड के DataList में एन्कोड किया गया था।
WEAVE_ERROR_BUFFER_TOO_SMALL
पहले DataElement पेलोड में फिट नहीं कर सका।
WEAVE_ERROR_INVALID_ARGUMENT
aContext को अमान्य मानों के साथ प्रारंभ किया गया था।
other
निचले स्तर की वस्तुओं से अन्य त्रुटियां (TLVWriter, SchemaEngine, आदि)।

इन्सर्टइनप्रोग्रेसअपडेटआइटम

WEAVE_ERROR InsertInProgressUpdateItem(
  const TraitPath & aItem
)

प्रगति में पथों की सूची में एक निजी पथ जोड़ें, इस समय एन्कोड किए जाने के बाद इसे सम्मिलित करें।

इस विधि को स्कीमाइंजिन द्वारा बुलाया जाना है क्योंकि यह स्कीमा ट्री को पार करता है और इसे शब्दकोशों को सूची में वापस धकेलने की आवश्यकता होती है।

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

अद्यतनएनकोडर

 UpdateEncoder()

~अपडेटएनकोडर

 ~UpdateEncoder()