nl::Weave::الملفات الشخصية::SoftwareUpdate::ImageQueryResponse

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

فئة لدعم إنشاء رسائل الرد على طلب البحث عن الصورة وفك ترميزها.

الملخّص

تظهر رسالة الرد على طلب بحث الصورة بالشكل:

المدّة اسم الحقل
متغير معرّف الموارد المنتظم (URI)
متغير مواصفات الإصدار
متغير مواصفات السلامة
1 بايت تحديث المخطَّط
1 بايت خيارات التحديث
يكون تنسيق حقل خيارات التحديث (اختياري) على النحو التالي:

لقمة المعنى
0..2 تعديل الأولوية
3..4 تعديل الحالة
5 حالة التقرير عند الإعداد، يُطلَب من العميل إنشاء رسائل (DownloadNotify) وUpdateNotify (تحديث إشعار) الاختياريتين.
7 صباحًا تمّ الحجز.
لا يتم إرسال استجابة طلب البحث عن الصورة إلا في حال تمت معالجة طلب بحث الصورة بنجاح وظهور صورة لتنزيلها. وتشكل الرسالة تعليمات تنزيل للعقدة التي تم إرسال طلب البحث إليها. ملاحظة: في الحالات التي يتعذّر على الخادم فيها معالجة طلب بحث الصورة، سيؤدي ذلك إلى إنشاء حالة طلب بحث الصورة.

الماكينات والبناء

ImageQueryResponse()
طريقة الإنشاء التلقائية لـ ImageQueryResponse.

السمات العامة

integritySpec
حقل يحتوي على معلومات السلامة (نوع السلامة وتجزئة) لصورة تحديث البرنامج
reportStatus
bool
اطلب من الخادم إعلامه بمدى تقدّم تحديث البرامج من خلال الرسالتَين الاختياريتَين UpdateNotify و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

حقل يحتوي على معلومات السلامة (نوع السلامة وتجزئة) لصورة تحديث البرنامج

حالة التقرير

bool reportStatus

اطلب من الخادم إعلامه بمدى تقدّم تحديث البرامج من خلال الرسالتَين الاختياريتَين UpdateNotify وUpdateNotify.

حالة التحديث

UpdateCondition updateCondition

تعليمات بشأن الشروط التي يمكن بموجبها متابعة تحديث البرنامج.

أولوية التحديث

UpdatePriority updatePriority

تعليمات توجيه الجهاز إلى وقت إجراء تحديث البرنامج.

مخطط التحديث

uint8_t updateScheme

مخطط التحديث المطلوب استخدامه لتنزيل صورة تحديث البرنامج.

ويتم استخلاص قيمتها من UpdateSchemes.

معرّف الموارد المنتظم (URI)

ReferencedString uri

سلسلة UTF-8 ذات طول متغير تحتوي على موقع صورة البرنامج.

يجب أن يتوافق محتوى هذه السلسلة مع مواصفات RFC 3986. بالنسبة إلى مخططات التحديث المقابلة لبروتوكول إنترنت محدّد جيدًا (HTTP أو HTTPS أو SFTP)، يجب أن يتوافق عنصر المخطّط لمعرّف الموارد المنتظم (URI) مع ترميز عنوان URL الأساسي لمخطّط البروتوكول هذا. يجب ألا يتجاوز طول السلسلة 65565، ويجب أن تتلاءم السلسلة مع رسالة Weave واحدة، والتي قد تخضع لقيود MTU.

مواصفات الإصدار

ReferencedString versionSpec

سلسلة UTF-8 ذات طول متغير تحتوي على تعريف إصدار برنامج خاص بالمورّد.

يجب ألا يتجاوز طول السلسلة 256 بايت.

وظائف عامة

استجابة استعلام الصور

 ImageQueryResponse()

طريقة الإنشاء التلقائية لـ ImageQueryResponse.

يمكن ملء ImageQueryResponse باستخدام طريقة init() أو من خلال إلغاء ترتيب الكائن من رسالة.

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
المرتجعات
صحيح إذا كانت جميع الحقول في كلا الكائنين متساوية، أم خطأ بخلاف ذلك

حزمة

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_micro إذا كانت الرسالة صغيرة جدًا بحيث لا تحتوي على جميع حقول ImageQuery
المرتجعات
WEAVE_ERROR_INVALID_INTEGRITY_TYPE إذا لم يكن نوع النزاهة المقدّم من القيم المحدّدة في IntegrityTypes