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

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

کلاسی برای پشتیبانی از ایجاد و رمزگشایی پیام های پاسخ پرس و جو تصویر.

خلاصه

پیام پاسخ پرسش تصویری به شکل زیر است:

طول نام فیلد
متغیر URI
متغیر مشخصات نسخه
متغیر مشخصات یکپارچگی
1 بایت طرح به روز رسانی
1 بایت آپدیت گزینه ها
فرمت فیلد گزینه های به روز رسانی (اختیاری) به شرح زیر است:

بیت معنی
0..2 اولویت به روز رسانی
3..4 وضعیت به روز رسانی
5 گزارش وضعیت پس از تنظیم، از مشتری درخواست می شود تا پیام های اختیاری DownloadNotify و UpdateNotify را ایجاد کند.
5..7 رزرو شده است
پاسخ پرس و جو تصویر تنها در صورتی ارسال می شود که درخواست تصویر با موفقیت پردازش شود و تصویری برای دانلود تولید کند. پیام شامل دستورالعمل های دانلود برای گره ای است که پرس و جو ارسال شده است. توجه داشته باشید که در مواردی که سرور نتواند درخواست تصویر را پردازش کند، باید وضعیت پرس و جو تصویر را ایجاد کند.

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

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

صفات عمومی

integritySpec
فیلدی حاوی اطلاعات یکپارچگی (نوع یکپارچگی و هش) برای تصویر به‌روزرسانی نرم‌افزار.
reportStatus
bool
از طریق پیام های اختیاری DownloadNotify و UpdateNotify به سرور در مورد پیشرفت به روز رسانی نرم افزار اطلاع دهید.
updateCondition
دستورالعمل هایی در مورد شرایطی که تحت آن به روز رسانی نرم افزار ادامه دهید.
updatePriority
دستورالعمل هایی که دستگاه را برای انجام به روز رسانی نرم افزار راهنمایی می کند.
updateScheme
uint8_t
طرح به روز رسانی مورد استفاده برای دانلود تصویر به روز رسانی نرم افزار.
uri
یک رشته UTF-8 با طول متغیر که حاوی محل تصویر نرم افزار است.
versionSpec
یک رشته UTF-8 با طول متغیر که حاوی یک شناسه نسخه نرم افزار مخصوص فروشنده است.

توابع عمومی

init ( ReferencedString &, ReferencedString &, IntegritySpec &, uint8_t, UpdatePriority , UpdateCondition , bool)
به صراحت شی ImageQueryResponse را با مقادیر ارائه شده مقداردهی اولیه کنید.
operator== (const ImageQueryResponse &) const
bool
یک عملگر برابری
pack (PacketBuffer *)
ImageQueryResponse را در PacketBuffer ارائه شده سریال کنید.
print (void)
void

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

parse (PacketBuffer *, ImageQueryResponse &)
پیام پاسخ پرس و جوی تصویر ارائه شده در PacketBuffer را در یک ImageQueryResponse ارائه شده، غیراصولی کنید.

صفات عمومی

integritySpec

IntegritySpec integritySpec

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

وضعیت گزارش

bool reportStatus

از طریق پیام های اختیاری DownloadNotify و UpdateNotify به سرور در مورد پیشرفت به روز رسانی نرم افزار اطلاع دهید.

وضعیت به روز رسانی

UpdateCondition updateCondition

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

به روز رسانی اولویت

UpdatePriority updatePriority

دستورالعمل هایی که دستگاه را برای انجام به روز رسانی نرم افزار راهنمایی می کند.

به روز رسانی طرح

uint8_t updateScheme

طرح به روز رسانی مورد استفاده برای دانلود تصویر به روز رسانی نرم افزار.

مقدار آن از UpdateSchemes گرفته شده است.

اوری

ReferencedString uri

یک رشته UTF-8 با طول متغیر که حاوی محل تصویر نرم افزار است.

محتویات این رشته باید مطابق با مشخصات RFC 3986 باشد. برای طرح های به روز رسانی متناظر با یک پروتکل اینترنتی به خوبی تعریف شده (HTTP، HTTPS، SFTP)، عنصر طرح URI باید با کدگذاری URL متعارف برای طرح پروتکل مطابقت داشته باشد. طول رشته نباید از 65565 تجاوز کند و رشته باید در یک پیام Weave قرار گیرد که ممکن است مشمول محدودیت‌های MTU باشد.

نسخه ویژه

ReferencedString versionSpec

یک رشته UTF-8 با طول متغیر که حاوی یک شناسه نسخه نرم افزار مخصوص فروشنده است.

طول رشته نباید بیشتر از 256 بایت باشد.

توابع عمومی

ImageQueryResponse

 ImageQueryResponse()

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

ImageQueryResponse ممکن است از طریق متد init() یا با deserialized شی از یک پیام پر شود.

init

WEAVE_ERROR init(
  ReferencedString &,
  ReferencedString &,
  IntegritySpec &,
  uint8_t,
  UpdatePriority,
  UpdateCondition,
  bool
)

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

جزئیات
پارامترها
[in] aUri
URI که در آن تصویر سیستم عامل جدید قرار است پیدا شود.
[in] aVersion
رشته نسخه برای این تصویر.
[in] aIntegrity
مشخصات یکپارچگی مربوط به تصویر جدید.
[in] aScheme
طرح به روز رسانی برای استفاده در دانلود.
[in] aPriority
اولویت به‌روزرسانی مرتبط با این به‌روزرسانی.
[in] aCondition
شرایطی که تحت آن به روز رسانی شود.
[in] aReportStatus
اگر true از مشتری درخواست کند که پس از دانلود و به روز رسانی گزارش دهد، در غیر این صورت مشتری گزارش نمی دهد.
برمی گرداند
WEAVE_NO_ERROR بدون قید و شرط.

اپراتور==

bool operator==(
  const ImageQueryResponse &
) const 

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

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

بسته

WEAVE_ERROR pack(
  PacketBuffer *
)

ImageQueryResponse را در PacketBuffer ارائه شده سریال کنید.

جزئیات
پارامترها
[in] aBuffer
یک بسته بافر که در آن پاسخ پرس و جو بسته می شود
ارزش های بازگشتی
WEAVE_NO_ERROR
در مورد موفقیت
WEAVE_ERROR_BUFFER_TOO_SMALL
اگر ImageQueryResponse بیش از حد بزرگ باشد که در بافر ارائه شده قرار نگیرد.

چاپ کنید

void print(
  void
)

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

تجزیه

WEAVE_ERROR parse(
  PacketBuffer *,
  ImageQueryResponse &
)

پیام پاسخ پرس و جوی تصویر ارائه شده در PacketBuffer را در یک ImageQueryResponse ارائه شده، غیراصولی کنید.

جزئیات
پارامترها
[in] aBuffer
اشاره گر به بسته ای که از آن کوئری تصویر تجزیه می شود
[in] aResponse
شیئی که نتیجه را در آن قرار می دهد
برمی گرداند
WEAVE_NO_ERROR در موفقیت
برمی گرداند
WEAVE_ERROR_BUFFER_TOO_SMALL اگر پیام خیلی کوچک بود که شامل تمام فیلدهای ImageQuery نمی شد
برمی گرداند
WEAVE_ERROR_INVALID_INTEGRITY_TYPE اگر نوع یکپارچگی ارائه شده یکی از مقادیر مشخص شده در IntegrityTypes نباشد