nl:: بافت:: پروفایل ها:: به روز رسانی نرم افزار:: IntegritySpec

#include <src/lib/profiles/software-update/SoftwareUpdateProfile.h>

یک کلاس کمکی که نوع یکپارچگی و هش واقعی تصویر به‌روزرسانی نرم‌افزار را نگه می‌دارد.

خلاصه

شی فیلد IntegrityTypes را نگه می دارد که نوع هش و هش واقعی تصویر به روز رسانی نرم افزار را مشخص می کند. طول هش بر اساس نوع هش ثابت می شود. اندازه شی به گونه ای است که بزرگترین هش های پشتیبانی شده را در خود جای دهد.

سازندگان و تخریب کنندگان

IntegritySpec ()
سازنده پیش فرض IntegritySpec .

صفات عمومی

type
uint8_t
نوع هش، مقداری که باید از IntegrityTypes گرفته شود.
value [64]
uint8_t
دنباله ای با طول متغیر از بایت ها حاوی مقدار یکپارچگی برای تصویر نرم افزار شناسایی شده توسط فیلد URI.

توابع عمومی

init (uint8_t, uint8_t *)
به طور صریح شی IntegritySpec را با مقادیر ارائه شده مقداردهی اولیه کنید.
operator== (const IntegritySpec &) const
bool
یک عملگر برابری
pack ( MessageIterator &)
IntegritySpec را در MessageIterator ارائه شده سریال کنید.

توابع استاتیک عمومی

parse ( MessageIterator &, IntegritySpec &)
شیء را از MessageIterator ارائه شده به IntegritySpec ارائه شده بی‌ثبت کنید.

صفات عمومی

نوع

uint8_t type

نوع هش، مقداری که باید از IntegrityTypes گرفته شود.

ارزش

uint8_t value[64]

دنباله ای با طول متغیر از بایت ها حاوی مقدار یکپارچگی برای تصویر نرم افزار شناسایی شده توسط فیلد URI.

مقدار یکپارچگی با اعمال تابع یکپارچگی مشخص شده توسط نوع یکپارچگی به محتویات تصویر به روز رسانی نرم افزاری که در URI مشخص شده در بالا قابل دسترسی است، محاسبه می شود. مشخصات یکپارچگی به مشتری اجازه می دهد تا تأیید کند که تصویر دانلود شده با تصویر مشخص شده در این پاسخ مطابقت دارد.

توابع عمومی

IntegritySpec

 IntegritySpec()

سازنده پیش فرض IntegritySpec .

شی باید از طریق متد init() یا از طریق deserializing آن از یک پیام مقداردهی اولیه شود.

init

WEAVE_ERROR init(
  uint8_t,
  uint8_t *
)

به طور صریح شی IntegritySpec را با مقادیر ارائه شده مقداردهی اولیه کنید.

جزئیات
مولفه های
[in] aType
یک مقدار یکپارچگی که از IntegrityTypes گرفته شده است
[in] aValue
یک مقدار هش با طول مناسب که به صورت رشته ای از بایت ها نمایش داده می شود
برمی گرداند
WEAVE_NO_ERROR در موفقیت
برمی گرداند
WEAVE_ERROR_INVALID_INTEGRITY_TYPE اگر نوع یکپارچگی ارائه شده یکی از مقادیر مشخص شده در IntegrityTypes نباشد

اپراتور==

bool operator==(
  const IntegritySpec &
) const 

یک عملگر برابری

جزئیات
مولفه های
another
یک IntegritySpec برای بررسی در برابر این IntegritySpec
برمی گرداند
اگر همه فیلدهای هر دو شی برابر باشند true، در غیر این صورت false

بسته

WEAVE_ERROR pack(
  MessageIterator &
)

IntegritySpec را در MessageIterator ارائه شده سریال کنید.

جزئیات
مولفه های
[in] i
یک تکرار کننده روی پیام در حال بسته بندی
ارزش های بازگشتی
WEAVE_NO_ERROR
در مورد موفقیت
WEAVE_ERROR_BUFFER_TOO_SMALL
اگر IntegritySpec بیش از حد بزرگ باشد که در پیام قرار نگیرد.

توابع استاتیک عمومی

تجزیه

WEAVE_ERROR parse(
  MessageIterator &,
  IntegritySpec &
)

شیء را از MessageIterator ارائه شده به IntegritySpec ارائه شده بی‌ثبت کنید.

جزئیات
مولفه های
[in] i
یک تکرار کننده روی پیام در حال تجزیه.
[in] aSpec
ارجاع به یک شی که حاوی نتیجه باشد
ارزش های بازگشتی
WEAVE_NO_ERROR
در مورد موفقیت
ارزش های بازگشتی
WEAVE_ERROR_BUFFER_TOO_SMALL
اگر پیام حاوی بایت کافی برای نوع یکپارچگی و هش مرتبط نبود
برمی گرداند
WEAVE_ERROR_INVALID_INTEGRITY_TYPE اگر نوع یکپارچگی ارائه شده یکی از مقادیر مشخص شده در IntegrityTypes نباشد