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 آن از یک پیام مقداردهی اولیه شود.

شروع کنید

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
برمی گرداند
درست است اگر تمام فیلدهای هر دو شی با هم برابر باشند، در غیر این صورت 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 نباشد