nl::Weave::Profiles::SoftwareUpdate::ImageQuery

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

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

ملخّص

يتضمّن إطار طلب البحث عن الصورة الشكل التالي فوق السلك.

الطول اسم الحقل
‫1 بايت التحكّم في الإطار
6 بايت مواصفات المنتج
متغير مواصفات الإصدار
2.4 بايت قائمة أنواع السلامة
2.5 بايت تعديل قائمة المخططات
متغير مواصفات اللغة (اختيارية)
8 بايت رقم تعريف العقدة المستهدفة
متغير البيانات الخاصة بالمورد (اختياري)
حيث يحتوي حقل التحكم في الإطار على حقول بت على النحو التالي:

البت المعنى
0 1 - البيانات الخاصة بالبائع موجودة، 0 - غير موجودة
1 1 - مواصفات اللغة موجودة، 0 - غير موجودة
2 1 - رقم تعريف العقدة المستهدفة موجود، 0 - غير موجود
7.3 تم الحجز
إنّ ImageQuery، وهو بنية، تقرأ بشكل مختلف قليلاً عن التمثيل أثناء الطيران. وعلى وجه الخصوص، يتم تمثيل الإصدار واللغة المحلية باستخدام سلاسل c منتهية فارغة (على عكس الصفوف (الطول والأحرف) ويتم تمثيل كلا العنصرين الاختياريين كمؤشرات قابلة للقيم الفارغة، لذلك لا توجد قيمة منطقية منفصلة للتحقق منها.

الشركات المصنّعة والمُصنّعة

ImageQuery()
دالة الإنشاء التلقائية لـ ImageQuery.

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

integrityTypes
أنواع السلامة المتوافقة مع الجهاز
localeSpec
سلسلة UTF-8 ذات الطول المتغير التي تحتوي على لغة POSIX السارية على الجهاز الذي يتم إجراء طلب الصورة له.
packageSpec
سلسلة UTF-8 ذات طول متغير يحتوي على سلسلة مواصفات الحزمة الخاصة بالمورّد
productSpec
تصف مواصفات المنتج الجهاز الذي يقدّم طلب البحث عن الصورة.
targetNodeId
uint64_t
رقم تعريف عقدة اختياري للجهاز الذي يتم إجراء الطلب له.
theMetaData
يكون حقل البيانات الخاص بالمورِّد متغيرًا من حيث الطول ويشغل بقية حمولة رسالة Weave خارج الحقول الموضحة أعلاه.
updateSchemes
مخططات التحديث (بروتوكولات التنزيل) المتوافقة مع الجهاز
version
سلسلة UTF-8 ذات طول متغيّر تحتوي على إصدار البرنامج الذي يحدّده المورّد للجهاز الذي يتم إجراء الطلب له

وظائف عامة

init(ProductSpec & aProductSpec, ReferencedString & aVersion, IntegrityTypeList & aTypeList, UpdateSchemeList & aSchemeList, ReferencedString *aPackage, ReferencedString *aLocale, uint64_t aTargetNodeId, ReferencedTLVData *aMetaData)
يجب إعداد الكائن ImageQuery بشكلٍ صريح باستخدام القيم المقدَّمة.
operator==(const ImageQuery &) const
bool
يشير ذلك المصطلح إلى عامل مساواة.
pack(PacketBuffer *)
تسلسل ImageQuery الأساسي في واجهة PacketBuffer المتوفّرة.
print(void)
void

الدوال الثابتة العامة

parse(PacketBuffer *, ImageQuery &)
يمكنك تنفيذ الزحف إلى رسالة طلب البحث عن الصور المقدّمة في PacketBuffer في عنصر ImageQuery تم توفيره.

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

integrityTypes

IntegrityTypeList integrityTypes

أنواع السلامة المتوافقة مع الجهاز

localeSpec

ReferencedString localeSpec

سلسلة UTF-8 ذات الطول المتغير التي تحتوي على لغة POSIX السارية على الجهاز الذي يتم إجراء طلب الصورة له.

يجب أن يتوافق محتوى السلسلة مع تنسيق معرّف اللغة POSIX، على النحو المحدد في ISO/IEC 15897، على سبيل المثال. en_AU.UTF-8 للغة الإنجليزية الأسترالية.

packageSpec

ReferencedString packageSpec

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

يصف محتوى الحقل نوع الحاوية المطلوب لصورة البرنامج، مثل "rpm" و"deb" و"tgz" و"elf" وما إلى ذلك (ملاحظة: لا يتم استخدام هذا الحقل في عمليات تنفيذ بروتوكول Nest)

productSpec

ProductSpec productSpec

تصف مواصفات المنتج الجهاز الذي يقدّم طلب البحث عن الصورة.

targetNodeId

uint64_t targetNodeId

رقم تعريف عقدة اختياري للجهاز الذي يتم إجراء الطلب له.

حقل رقم تعريف العقدة المستهدفة اختياري. في حال عدم توفّره، يكون رقم تعريف العقدة المستهدفة لطلب البحث ضمنيًا العقدة التي كانت مصدر رسالة طلب البحث عن الصورة.

يُستخدم حقل معرّف العقدة المستهدفة عادةً في الحالات التي يتم فيها عرض العقدة التي تمثل مصدر رسالة IMAGE QUERY كخادم وكيل لتحديث البرامج لعقدة أخرى.

theMetaData

ReferencedTLVData theMetaData

يكون حقل البيانات الخاص بالمورِّد متغيرًا من حيث الطول ويشغل بقية حمولة رسالة Weave خارج الحقول الموضحة أعلاه.

يرمّز الحقل معلومات خاصة بالمورّد حول الجهاز الذي يتم إجراء الطلب له. حقل البيانات الخاص بالمورّد اختياري. يتضمّن الحقل، في حال توفّره، بنية مجهولة المصدر بترميز TLV. يجب أن تكون العلامات المقدمة داخل هذه البنية علامات مؤهلة بالكامل للملف الشخصي.

updateSchemes

UpdateSchemeList updateSchemes

مخططات التحديث (بروتوكولات التنزيل) المتوافقة مع الجهاز

إصدار

ReferencedString version

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

يجب أن يكون طولها 32 أو أقل.

وظائف عامة

ImageQuery

 ImageQuery()

دالة الإنشاء التلقائية لـ ImageQuery.

يمكن ملء ImageQuery من خلال استدعاء init() أو إلغاء تسلسل الكائن من رسالة.

إعداد

WEAVE_ERROR init(
  ProductSpec & aProductSpec,
  ReferencedString & aVersion,
  IntegrityTypeList & aTypeList,
  UpdateSchemeList & aSchemeList,
  ReferencedString *aPackage,
  ReferencedString *aLocale,
  uint64_t aTargetNodeId,
  ReferencedTLVData *aMetaData
)

يجب إعداد الكائن ImageQuery بشكلٍ صريح باستخدام القيم المقدَّمة.

التفاصيل
المعلمات
[in] aProductSpec
مواصفات المنتج
[in] aVersion
إصدار البرنامج المثبَّت حاليًا.
[in] aTypeList
أنواع التكامل المتوافقة مع العميل.
[in] aSchemeList
تمثّل هذه السمة مخطّطات التحديث التي يوفّرها العميل.
[in] aPackage
مواصفات حزمة اختيارية يدعمها العميل.
[in] aLocale
مواصفات لغة اختيارية يطلبها العميل.
[in] aTargetNodeId
رقم تعريف اختياري لعقدة مستهدفة.
[in] aMetaData
كائن ثنائي كبير (blob) اختياري لبيانات المورّد بترميز TLV.
المرتجعات
WEAVE_NO_ERROR بدون شرط.

عامل التشغيل==

bool operator==(
  const ImageQuery &
) const 

يشير ذلك المصطلح إلى عامل مساواة.

التفاصيل
المعلمات
another
يجب استخدام ImageQuery للتحقّق من هذا الطلب من خلال ImageQuery.
المرتجعات
صحيح إذا كانت جميع الحقول في كلا العنصرين متساوية، وخطأ في الحالات الأخرى

حزمة

WEAVE_ERROR pack(
  PacketBuffer *
)

تسلسل ImageQuery الأساسي في واجهة PacketBuffer المتوفّرة.

التفاصيل
المعلمات
[in] aBuffer
المخزن المؤقت للحزم المراد وضع طلب البحث فيه
قيم الإرجاع
WEAVE_NO_ERROR
عند النجاح
WEAVE_ERROR_BUFFER_TOO_SMALL
إذا كان حجم ImageQuery كبيرًا جدًا بحيث يتعذّر احتواؤه في المخزن المؤقت المقدم

طباعة

void print(
  void
)

الدوال الثابتة العامة

تحليل

WEAVE_ERROR parse(
  PacketBuffer *,
  ImageQuery &
)

يمكنك تنفيذ الزحف إلى رسالة طلب البحث عن الصور المقدّمة في PacketBuffer في عنصر ImageQuery تم توفيره.

التفاصيل
المعلمات
[in] aBuffer
مؤشر إلى حزمة يمكن من خلالها تحليل طلب بحث الصورة
[in] aQuery
كائن لوضع النتيجة فيه
المرتجعات
WEAVE_NO_ERROR عند النجاح
المرتجعات
WEAVE_ERROR_BUFFER_TOO_SMALL إذا كانت الرسالة صغيرة جدًا بحيث لا يمكن أن تحتوي على جميع حقول ImageQuery
المرتجعات
WEAVE_ERROR_مرح_LIST_LENGTH إذا كانت الرسالة تحتوي على IntegrityTypeList أو UpdateSchemeList طويل جدًا.