nl:: بافت:: پروفایل ها:: DataManagement_Current:: UpdateEncoder

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

این شیء بارهای WDM UpdateRequest و PartialUpdateRequest را رمزگذاری می کند.

خلاصه

توجه داشته باشید که فرمت هر دو درخواست یکسان است. آنها فقط با نوع پیام متمایز می شوند که خارج از محدوده این شی است.

کدگذاری به صورت همزمان با روش EncodeRequest انجام می شود. تنها روش عمومی دیگر InsertInProgressUpdateItem است که توسط SchemaEngine زمانی فراخوانی می شود که باید یک دیکشنری را به صف بازگرداند.

سازندگان و ویرانگرها

UpdateEncoder ()
~UpdateEncoder ()

توابع عمومی

EncodeRequest ( Context & aContext)
یک بار درخواست به‌روزرسانی WDM را رمزگذاری کنید.
InsertInProgressUpdateItem (const TraitPath & aItem)
یک مسیر خصوصی را به لیست مسیرهای در حال پیشرفت اضافه کنید و آن را بعد از مسیری که در حال حاضر رمزگذاری شده است وارد کنید.

سازه ها

nl:: بافت:: پروفایل ها:: DataManagement_Current:: UpdateEncoder:: Context

این ساختار آرگومان های I/O را در متد EncodeRequest نگه می دارد.

توابع عمومی

EncodeRequest

WEAVE_ERROR EncodeRequest(
  Context & aContext
)

یک بار درخواست به‌روزرسانی WDM را رمزگذاری کنید.

به UpdateEncoder::Context مراجعه کنید. طول داده های PacketBuffer فقط در صورت موفقیت به روز می شود، اما محتوای بافر حفظ نمی شود.

جزئیات
ارزش های بازگشتی
WEAVE_NO_ERROR
حداقل یک DataElement در DataList محموله رمزگذاری شده است.
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()